@eeacms/volto-marine-policy 2.0.40 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/.eslintrc.js +6 -6
  2. package/CHANGELOG.md +40 -3
  3. package/README.md +8 -8
  4. package/docker-compose.yml +16 -16
  5. package/jest-addon.config.js +21 -4
  6. package/package.json +10 -8
  7. package/src/components/Blocks/DemoSitesExplorer/{DemoSitesExplorerEdit.js → DemoSitesExplorerEdit.jsx} +2 -1
  8. package/src/components/Blocks/DemoSitesExplorer/{DemoSitesExplorerView.js → DemoSitesExplorerView.jsx} +4 -3
  9. package/src/components/Blocks/DemoSitesExplorer/DemoSitesMap.jsx +2 -7
  10. package/src/components/Blocks/MsfdDataExplorerBlock/Edit.jsx +2 -1
  11. package/src/components/Blocks/MsfdDataExplorerBlock/View.test.jsx +1 -1
  12. package/src/components/Widgets/MeasureViewWidget.jsx +2 -2
  13. package/src/components/Widgets/String.jsx +6 -6
  14. package/src/components/Widgets/TextAlign.jsx +2 -1
  15. package/src/components/theme/AppExtras/PrintPage/PrintPage.jsx +3 -2
  16. package/src/components/theme/DatabaseItemView/DatabaseItemView.jsx +1 -1
  17. package/src/components/theme/ItemMetadata/ItemMetadata.jsx +1 -1
  18. package/src/components/theme/MetadataListingView/MapPreview.jsx +1 -1
  19. package/src/components/theme/ProgressWorkflow/ProgressWorkflow.jsx +9 -9
  20. package/src/components/theme/Tableau/TableauDownload.jsx +1 -1
  21. package/src/components/theme/Tableau/TableauFullscreen.jsx +1 -1
  22. package/src/components/theme/Tableau/TableauShare.jsx +1 -1
  23. package/src/components/theme/View/FullwidthView.jsx +4 -4
  24. package/src/components/theme/View/HeroSectionView.jsx +3 -3
  25. package/src/customizations/@eeacms/volto-block-toc/Block/variations/DefaultTocRenderer.jsx +1 -1
  26. package/src/customizations/@eeacms/volto-eea-design-system/ui/Header/Header.jsx +1 -1
  27. package/src/customizations/@eeacms/volto-eea-design-system/ui/Header/HeaderMenuPopUp.js +3 -1
  28. package/src/customizations/@eeacms/volto-eea-design-system/ui/Header/HeaderSearchPopUp.js +2 -0
  29. package/src/customizations/volto/components/manage/Contents/ContentsBreadcrumbs.jsx +1 -1
  30. package/src/customizations/volto/components/manage/Toolbar/PersonalTools.jsx +7 -8
  31. package/src/customizations/volto/components/manage/Toolbar/Toolbar.jsx +12 -14
  32. package/src/customizations/volto/components/theme/Breadcrumbs/Breadcrumbs.jsx +3 -2
  33. package/src/customizations/volto/components/theme/Header/Header.jsx +6 -9
  34. package/src/express-middleware.js +1 -1
  35. package/src/index.js +5 -1
  36. package/src/reducers/breadcrumb/breadcrumb.js +2 -2
  37. package/src/reducers/localnavigation/localnavigation.js +2 -2
  38. package/src/utils.js +1 -1
  39. /package/src/components/Blocks/CustomBlockTemplates/{customBlockTemplates.js → customBlockTemplates.jsx} +0 -0
package/.eslintrc.js CHANGED
@@ -16,16 +16,16 @@ if (configFile) {
16
16
  voltoPath = `./${jsConfig.baseUrl}/${pathsConfig['@plone/volto'][0]}`;
17
17
  }
18
18
 
19
- const AddonConfigurationRegistry = require(`${voltoPath}/addon-registry.js`);
20
- const reg = new AddonConfigurationRegistry(projectRootPath);
19
+ const { AddonRegistry } = require('@plone/registry/addon-registry');
20
+ const { registry } = AddonRegistry.init(projectRootPath);
21
21
 
22
22
  // Extends ESlint configuration for adding the aliases to `src` directories in Volto addons
23
- const addonAliases = Object.keys(reg.packages).map((o) => [
23
+ const addonAliases = Object.keys(registry.packages).map((o) => [
24
24
  o,
25
- reg.packages[o].modulePath,
25
+ registry.packages[o].modulePath,
26
26
  ]);
27
27
 
28
- const addonExtenders = reg.getEslintExtenders().map((m) => require(m));
28
+ const addonExtenders = registry.getEslintExtenders().map((m) => require(m));
29
29
 
30
30
  const defaultConfig = {
31
31
  extends: `${voltoPath}/.eslintrc`,
@@ -34,7 +34,7 @@ const defaultConfig = {
34
34
  alias: {
35
35
  map: [
36
36
  ['@plone/volto', '@plone/volto/src'],
37
- ['@plone/volto-slate', '@plone/volto/packages/volto-slate/src'],
37
+ ['@plone/volto-slate', '@plone/volto-slate/src'],
38
38
  ...addonAliases,
39
39
  ['@package', `${__dirname}/src`],
40
40
  ['@root', `${__dirname}/src`],
package/CHANGELOG.md CHANGED
@@ -4,11 +4,48 @@ All notable changes to this project will be documented in this file. Dates are d
4
4
 
5
5
  Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
6
6
 
7
- ### [2.0.40](https://github.com/eea/volto-marine-policy/compare/2.0.39...2.0.40) - 14 January 2026
7
+ ### [3.0.0](https://github.com/eea/volto-marine-policy/compare/2.0.41...3.0.0) - 24 April 2026
8
8
 
9
- #### :nail_care: Enhancements
9
+ #### :rocket: Dependency updates
10
+
11
+ - Release @eeacms/volto-openlayers-map@2.0.0 [EEA Jenkins - [`f5bbf26`](https://github.com/eea/volto-marine-policy/commit/f5bbf26ebc1ee51ac465cd618fee96c443fbd71a)]
12
+
13
+ #### :bug: Bug Fixes
14
+
15
+ - fix: eslint for 18 [nileshgulia1 - [`b9e66fb`](https://github.com/eea/volto-marine-policy/commit/b9e66fbc055ded48a406cab4077a62b9ca146e5e)]
16
+
17
+ #### :house: Internal changes
18
+
19
+ - style: Automated code fix [eea-jenkins - [`3d454c5`](https://github.com/eea/volto-marine-policy/commit/3d454c59fa5d11c496dbc90eac7c64bbce6eb077)]
20
+
21
+ #### :hammer_and_wrench: Others
22
+
23
+ - bump v3.0 [nileshgulia1 - [`6fa81ec`](https://github.com/eea/volto-marine-policy/commit/6fa81ecce7f551d9b337df238d14bb4c2e2d429e)]
24
+ - fix sonarqube [nileshgulia1 - [`7a52d10`](https://github.com/eea/volto-marine-policy/commit/7a52d10765e2f3344417f509787eaae0ed225280)]
25
+ - fix imports [nileshgulia1 - [`214d4fb`](https://github.com/eea/volto-marine-policy/commit/214d4fb3a58d2c10a368ab6b93cfe37f1be29570)]
26
+ ### [2.0.41](https://github.com/eea/volto-marine-policy/compare/2.0.40...2.0.41) - 2 April 2026
27
+
28
+ #### :rocket: Dependency updates
29
+
30
+ - Release @eeacms/volto-searchlib@4.0.0 [EEA Jenkins - [`c8d6439`](https://github.com/eea/volto-marine-policy/commit/c8d6439942e60dceadf98337be8ebb221eb1b697)]
31
+ - Release @eeacms/volto-globalsearch@4.0.0 [EEA Jenkins - [`f739f15`](https://github.com/eea/volto-marine-policy/commit/f739f152352700e4329beb992fb546d19976206b)]
32
+ - Release @eeacms/volto-searchlib@3.0.3 [EEA Jenkins - [`aed3728`](https://github.com/eea/volto-marine-policy/commit/aed3728fa137c23b7d58768957ddd7cd4ad2ea54)]
33
+ - Release @eeacms/volto-searchlib@3.0.2 [EEA Jenkins - [`1841fa8`](https://github.com/eea/volto-marine-policy/commit/1841fa8c92828c5d2ba439f2d0d308735f566eac)]
34
+ - Release @eeacms/volto-globalsearch@3.0.0 [EEA Jenkins - [`9edc456`](https://github.com/eea/volto-marine-policy/commit/9edc4566d4c269ed0fdb2866a9c4c893a93337c4)]
35
+ - Release @eeacms/volto-searchlib@3.0.1 [EEA Jenkins - [`f6db109`](https://github.com/eea/volto-marine-policy/commit/f6db1097eb7a4f70f5a05419dd921381136df0a1)]
36
+ - Release @eeacms/volto-searchlib@3.0.0 [EEA Jenkins - [`46247c8`](https://github.com/eea/volto-marine-policy/commit/46247c807914fb8d3f39a576365c228e6e8c6474)]
37
+
38
+ #### :house: Internal changes
39
+
40
+ - style: Automated code fix [eea-jenkins - [`0421290`](https://github.com/eea/volto-marine-policy/commit/0421290d7fdd9fdd0b6d483b53c424a0747137b3)]
41
+
42
+ #### :hammer_and_wrench: Others
10
43
 
11
- - change: update blueparks projects for demo sites [laszlocseh - [`b41ab25`](https://github.com/eea/volto-marine-policy/commit/b41ab2594004b722024eeca1ede201cbb2173e5c)]
44
+ - pin volto-globalsearch and searchlib to v2 [nileshgulia1 - [`c5c75b8`](https://github.com/eea/volto-marine-policy/commit/c5c75b8d01861d801c0fb075e89e5b2ce69c14ea)]
45
+ - update: fix tests [nileshgulia1 - [`e6109e7`](https://github.com/eea/volto-marine-policy/commit/e6109e7c970a700f09ad1212a0db05e644c6b472)]
46
+ - pin @eeacms/volto-group-block to v9.0.0 [nileshgulia1 - [`6e457c0`](https://github.com/eea/volto-marine-policy/commit/6e457c06245ab56cd74115ee087871da7a5cf34a)]
47
+ - Delete listing_view from layoutViews [Laszlo Cseh - [`69ab82e`](https://github.com/eea/volto-marine-policy/commit/69ab82e07e6868d4acb76425229e33813efc2257)]
48
+ ### [2.0.40](https://github.com/eea/volto-marine-policy/compare/2.0.39...2.0.40) - 15 January 2026
12
49
 
13
50
  ### [2.0.39](https://github.com/eea/volto-marine-policy/compare/2.0.38...2.0.39) - 12 January 2026
14
51
 
package/README.md CHANGED
@@ -3,16 +3,16 @@
3
3
  [![Releases](https://img.shields.io/github/v/release/eea/volto-marine-policy)](https://github.com/eea/volto-marine-policy/releases)
4
4
 
5
5
  [![Pipeline](https://ci.eionet.europa.eu/buildStatus/icon?job=volto-addons%2Fvolto-marine-policy%2Fmaster&subject=master)](https://ci.eionet.europa.eu/view/Github/job/volto-addons/job/volto-marine-policy/job/master/display/redirect)
6
- [![Lines of Code](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-marine-policy-master&metric=ncloc)](https://sonarqube.eea.europa.eu/dashboard?id=volto-marine-policy-master)
7
- [![Coverage](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-marine-policy-master&metric=coverage)](https://sonarqube.eea.europa.eu/dashboard?id=volto-marine-policy-master)
8
- [![Bugs](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-marine-policy-master&metric=bugs)](https://sonarqube.eea.europa.eu/dashboard?id=volto-marine-policy-master)
9
- [![Duplicated Lines (%)](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-marine-policy-master&metric=duplicated_lines_density)](https://sonarqube.eea.europa.eu/dashboard?id=volto-marine-policy-master)
6
+ [![Lines of Code](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-marine-policy&metric=ncloc)](https://sonarqube.eea.europa.eu/dashboard?id=volto-marine-policy)
7
+ [![Coverage](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-marine-policy&metric=coverage)](https://sonarqube.eea.europa.eu/dashboard?id=volto-marine-policy)
8
+ [![Bugs](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-marine-policy&metric=bugs)](https://sonarqube.eea.europa.eu/dashboard?id=volto-marine-policy)
9
+ [![Duplicated Lines (%)](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-marine-policy&metric=duplicated_lines_density)](https://sonarqube.eea.europa.eu/dashboard?id=volto-marine-policy)
10
10
 
11
11
  [![Pipeline](https://ci.eionet.europa.eu/buildStatus/icon?job=volto-addons%2Fvolto-marine-policy%2Fdevelop&subject=develop)](https://ci.eionet.europa.eu/view/Github/job/volto-addons/job/volto-marine-policy/job/develop/display/redirect)
12
- [![Lines of Code](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-marine-policy-develop&metric=ncloc)](https://sonarqube.eea.europa.eu/dashboard?id=volto-marine-policy-develop)
13
- [![Coverage](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-marine-policy-develop&metric=coverage)](https://sonarqube.eea.europa.eu/dashboard?id=volto-marine-policy-develop)
14
- [![Bugs](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-marine-policy-develop&metric=bugs)](https://sonarqube.eea.europa.eu/dashboard?id=volto-marine-policy-develop)
15
- [![Duplicated Lines (%)](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-marine-policy-develop&metric=duplicated_lines_density)](https://sonarqube.eea.europa.eu/dashboard?id=volto-marine-policy-develop)
12
+ [![Lines of Code](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-marine-policy&branch=develop&metric=ncloc)](https://sonarqube.eea.europa.eu/dashboard?id=volto-marine-policy&branch=develop)
13
+ [![Coverage](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-marine-policy&branch=develop&metric=coverage)](https://sonarqube.eea.europa.eu/dashboard?id=volto-marine-policy&branch=develop)
14
+ [![Bugs](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-marine-policy&branch=develop&metric=bugs)](https://sonarqube.eea.europa.eu/dashboard?id=volto-marine-policy&branch=develop)
15
+ [![Duplicated Lines (%)](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-marine-policy&branch=develop&metric=duplicated_lines_density)](https://sonarqube.eea.europa.eu/dashboard?id=volto-marine-policy&branch=develop)
16
16
 
17
17
  [Volto](https://github.com/plone/volto) add-on
18
18
 
@@ -1,32 +1,32 @@
1
- version: "3"
1
+ version: '3'
2
2
  services:
3
3
  backend:
4
4
  image: eeacms/plone-backend
5
5
  ports:
6
- - "8080:8080"
6
+ - '8080:8080'
7
7
  environment:
8
- SITE: "Plone"
9
- PROFILES: "eea.kitkat:testing"
8
+ SITE: 'Plone'
9
+ PROFILES: 'eea.kitkat:testing'
10
10
 
11
- frontend:
11
+ frontend:
12
12
  build:
13
13
  context: ./
14
14
  dockerfile: ./Dockerfile
15
15
  args:
16
- ADDON_NAME: "${ADDON_NAME}"
17
- ADDON_PATH: "${ADDON_PATH}"
18
- VOLTO_VERSION: ${VOLTO_VERSION:-16}
16
+ ADDON_NAME: '${ADDON_NAME}'
17
+ ADDON_PATH: '${ADDON_PATH}'
18
+ VOLTO_VERSION: ${VOLTO_VERSION:-18-yarn}
19
19
  ports:
20
- - "3000:3000"
21
- - "3001:3001"
20
+ - '3000:3000'
21
+ - '3001:3001'
22
22
  depends_on:
23
23
  - backend
24
24
  volumes:
25
25
  - ./:/app/src/addons/${ADDON_PATH}
26
26
  environment:
27
- CI: "true"
28
- NODE_ENV: "development"
29
- RAZZLE_JEST_CONFIG: "src/addons/${ADDON_PATH}/jest-addon.config.js"
30
- RAZZLE_INTERNAL_API_PATH: "http://backend:8080/Plone"
31
- RAZZLE_DEV_PROXY_API_PATH: "http://backend:8080/Plone"
32
- HOST: "0.0.0.0"
27
+ CI: 'true'
28
+ NODE_ENV: 'development'
29
+ RAZZLE_JEST_CONFIG: 'src/addons/${ADDON_PATH}/jest-addon.config.js'
30
+ RAZZLE_INTERNAL_API_PATH: 'http://backend:8080/Plone'
31
+ RAZZLE_DEV_PROXY_API_PATH: 'http://backend:8080/Plone'
32
+ HOST: '0.0.0.0'
@@ -1,5 +1,24 @@
1
1
  require('dotenv').config({ path: __dirname + '/.env' });
2
2
 
3
+ const fs = require('fs');
4
+ const path = require('path');
5
+
6
+ // Volto 18 exposes @plone/volto-slate as a top-level package.
7
+ const voltoSlatePath = fs.existsSync(
8
+ path.join(
9
+ __dirname,
10
+ '..',
11
+ '..',
12
+ '..',
13
+ 'node_modules',
14
+ '@plone',
15
+ 'volto-slate',
16
+ 'src',
17
+ ),
18
+ )
19
+ ? '<rootDir>/node_modules/@plone/volto-slate/src'
20
+ : '<rootDir>/node_modules/@plone/volto/packages/volto-slate/src';
21
+
3
22
  module.exports = {
4
23
  testMatch: ['**/src/addons/**/?(*.)+(spec|test).[jt]s?(x)'],
5
24
  collectCoverageFrom: [
@@ -21,10 +40,8 @@ module.exports = {
21
40
  '@eeacms/search':
22
41
  '<rootDir>/node_modules/@eeacms/volto-searchlib/searchlib',
23
42
  '@eeacms/(.*?)/(.*)$': '<rootDir>/node_modules/@eeacms/$1/src/$2',
24
- '@plone/volto-slate$':
25
- '<rootDir>/node_modules/@plone/volto/packages/volto-slate/src',
26
- '@plone/volto-slate/(.*)$':
27
- '<rootDir>/node_modules/@plone/volto/packages/volto-slate/src/$1',
43
+ '@plone/volto-slate$': voltoSlatePath,
44
+ '@plone/volto-slate/(.*)$': `${voltoSlatePath}/$1`,
28
45
  '~/(.*)$': '<rootDir>/src/$1',
29
46
  'load-volto-addons':
30
47
  '<rootDir>/node_modules/@plone/volto/jest-addons-loader.js',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eeacms/volto-marine-policy",
3
- "version": "2.0.40",
3
+ "version": "3.0.0",
4
4
  "description": "@eeacms/volto-marine-policy: Volto add-on",
5
5
  "main": "src/index.js",
6
6
  "author": "European Environment Agency: IDM2 A-Team",
@@ -25,22 +25,25 @@
25
25
  "@eeacms/volto-globalsearch",
26
26
  "@eeacms/volto-metadata-block",
27
27
  "@eeacms/volto-workflow-progress",
28
- "@plone-collective/volto-authomatic"
28
+ "@plone-collective/volto-authomatic",
29
+ "@eeacms/volto-group-block"
29
30
  ],
30
31
  "resolutions": {
31
32
  "react-countup/countup.js": "2.5.0",
32
33
  "d3-array": "^2.12.1",
33
34
  "@eeacms/countup": "^2.0.6",
34
- "@elastic/search-ui": "1.21.2"
35
+ "@elastic/search-ui": "1.21.2",
36
+ "@eeacms/volto-group-block": "^9.0.0"
35
37
  },
36
38
  "dependencies": {
37
39
  "@eeacms/volto-eea-design-system": "*",
38
40
  "@eeacms/volto-eea-website-theme": "*",
39
41
  "@eeacms/volto-embed": "*",
40
- "@eeacms/volto-globalsearch": "2.1.2",
42
+ "@eeacms/volto-globalsearch": "^2.0.0",
43
+ "@eeacms/volto-group-block": "^9.0.0",
41
44
  "@eeacms/volto-metadata-block": "*",
42
- "@eeacms/volto-openlayers-map": "1.0.1",
43
- "@eeacms/volto-searchlib": "2.1.10",
45
+ "@eeacms/volto-openlayers-map": "2.0.0",
46
+ "@eeacms/volto-searchlib": "^2.0.2",
44
47
  "@eeacms/volto-tabs-block": "*",
45
48
  "@eeacms/volto-workflow-progress": "*",
46
49
  "@plone-collective/volto-authomatic": "2.0.1",
@@ -54,8 +57,7 @@
54
57
  "slick-carousel": "^1.8.1"
55
58
  },
56
59
  "devDependencies": {
57
- "@babel/plugin-proposal-nullish-coalescing-operator": "7.18.6",
58
- "@cypress/code-coverage": "^3.9.5",
60
+ "@cypress/code-coverage": "^3.10.0",
59
61
  "@plone/scripts": "2.1.1",
60
62
  "babel-plugin-transform-class-properties": "^6.24.1",
61
63
  "cypress": "13.1.0",
@@ -1,5 +1,6 @@
1
1
  import DemoSitesExplorerView from './DemoSitesExplorerView';
2
- import { SidebarPortal, BlockDataForm } from '@plone/volto/components';
2
+ import SidebarPortal from '@plone/volto/components/manage/Sidebar/SidebarPortal';
3
+ import BlockDataForm from '@plone/volto/components/manage/Form/BlockDataForm';
3
4
  import schema from './schema';
4
5
 
5
6
  export default function DemoSitesExplorerEdit(props) {
@@ -1,8 +1,9 @@
1
1
  import React from 'react';
2
2
  import { Grid } from 'semantic-ui-react'; // Dropdown,
3
- import { addAppURL } from '@plone/volto/helpers';
3
+ import { addAppURL } from '@plone/volto/helpers/Url/Url';
4
4
  import config from '@plone/volto/registry';
5
5
  import { VisibilitySensor } from '@eeacms/volto-datablocks/components';
6
+ import Image from '@plone/volto/components/theme/Image/Image';
6
7
 
7
8
  import DemoSitesMap from './DemoSitesMap';
8
9
  import { ActiveFilters, DemoSitesFilters } from './DemoSitesFilters';
@@ -146,7 +147,7 @@ export default function DemoSitesExplorerView(props) {
146
147
  <div className="legend-row">
147
148
  <div className="circle">
148
149
  {/* <div className="dot-demosite"></div> */}
149
- <img
150
+ <Image
150
151
  src="/marine/europe-seas/eu-mission-restore-our-oceans-and-water/icon-point-light.png/@@images/image/small"
151
152
  alt=""
152
153
  />
@@ -156,7 +157,7 @@ export default function DemoSitesExplorerView(props) {
156
157
  <div className="legend-row">
157
158
  <div className="circle">
158
159
  {/* <div className="dot-region"></div> */}
159
- <img
160
+ <Image
160
161
  src="/marine/europe-seas/eu-mission-restore-our-oceans-and-water/icon-region-light.png/@@images/image/small"
161
162
  alt=""
162
163
  />
@@ -172,13 +172,8 @@ function DemoSitesMap(props) {
172
172
  onSelectedCase(null);
173
173
  clearFilters(setActiveFilters);
174
174
  setHighlightedIndex(5);
175
- if (hideFilters) {
176
- // zoomMapToFeatures(map, getFeatures(activeItems));
177
- centerAndResetMapZoom({ map, ol });
178
- } else {
179
- centerAndResetMapZoom({ map, ol });
180
- // zoomMapToFeatures(map, getFeatures(activeItems));
181
- }
175
+ // zoomMapToFeatures(map, getFeatures(activeItems));
176
+ centerAndResetMapZoom({ map, ol });
182
177
  map.getInteractions().array_[9].getFeatures().clear();
183
178
  }}
184
179
  >
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
- import { SidebarPortal, BlockDataForm } from '@plone/volto/components';
2
+ import SidebarPortal from '@plone/volto/components/manage/Sidebar/SidebarPortal';
3
+ import BlockDataForm from '@plone/volto/components/manage/Form/BlockDataForm';
3
4
  import MsfdDataExplorerBlockView from './View';
4
5
  import schema from './schema';
5
6
 
@@ -1,6 +1,6 @@
1
1
  import { render, waitFor, screen } from '@testing-library/react';
2
2
  import axios from 'axios';
3
- import '@testing-library/jest-dom/extend-expect';
3
+ import '@testing-library/jest-dom';
4
4
 
5
5
  import MsfdDataExplorerBlockView from './View';
6
6
 
@@ -3,8 +3,8 @@ import { Portal } from 'react-portal';
3
3
  import { fields } from '@eeacms/volto-marine-policy/constants/measureFields';
4
4
  import String from './String';
5
5
  import { Accordion } from 'semantic-ui-react';
6
- import { Icon } from '@plone/volto/components';
7
- import { BodyClass } from '@plone/volto/helpers';
6
+ import Icon from '@plone/volto/components/theme/Icon/Icon';
7
+ import BodyClass from '@plone/volto/helpers/BodyClass/BodyClass';
8
8
  import downSVG from '@plone/volto/icons/down-key.svg';
9
9
  import upSVG from '@plone/volto/icons/up-key.svg';
10
10
  import './measure.css';
@@ -4,12 +4,12 @@ const StringWidget = ({ val }) => {
4
4
  return typeof val === 'string'
5
5
  ? val
6
6
  : Array.isArray(val)
7
- ? val.map((item, i) => (
8
- <span key={i} className="array-string-item">
9
- <StringWidget val={item} key={i} />
10
- </span>
11
- ))
12
- : `${val}`;
7
+ ? val.map((item, i) => (
8
+ <span key={i} className="array-string-item">
9
+ <StringWidget val={item} key={i} />
10
+ </span>
11
+ ))
12
+ : `${val}`;
13
13
  };
14
14
 
15
15
  export default StringWidget;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { Button } from 'semantic-ui-react';
3
- import { FormFieldWrapper, Icon } from '@plone/volto/components';
3
+ import FormFieldWrapper from '@plone/volto/components/manage/Widgets/FormFieldWrapper';
4
+ import Icon from '@plone/volto/components/theme/Icon/Icon';
4
5
 
5
6
  import alignLeftSVG from '@plone/volto/icons/align-left.svg';
6
7
  import alignRightSVG from '@plone/volto/icons/align-right.svg';
@@ -4,8 +4,9 @@ import { compose } from 'redux';
4
4
  import { connect } from 'react-redux';
5
5
  import { defineMessages, useIntl } from 'react-intl';
6
6
  import { Button } from 'semantic-ui-react';
7
- import { BodyClass, isCmsUi } from '@plone/volto/helpers';
8
- import { Icon } from '@plone/volto/components';
7
+ import BodyClass from '@plone/volto/helpers/BodyClass/BodyClass';
8
+ import { isCmsUi } from '@plone/volto/helpers/Url/Url';
9
+ import Icon from '@plone/volto/components/theme/Icon/Icon';
9
10
  import printerSVG from '@plone/volto/icons/printer.svg';
10
11
 
11
12
  import './css/printpage.less';
@@ -1,4 +1,4 @@
1
- import { BodyClass } from '@plone/volto/helpers';
1
+ import BodyClass from '@plone/volto/helpers/BodyClass/BodyClass';
2
2
  import {
3
3
  ItemMetadataSnippet,
4
4
  ItemMetadata,
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { Icon } from '@plone/volto/components';
2
+ import Icon from '@plone/volto/components/theme/Icon/Icon';
3
3
  import { Table, Button } from 'semantic-ui-react';
4
4
  import { MapPreview } from '@eeacms/volto-marine-policy/components';
5
5
  import { getPath } from '@eeacms/volto-marine-policy/utils';
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Modal, Button } from 'semantic-ui-react';
3
- import { Icon } from '@plone/volto/components';
3
+ import Icon from '@plone/volto/components/theme/Icon/Icon';
4
4
  import config from '@plone/volto/registry';
5
5
  import fullscreenSVG from '@plone/volto/icons/slider.svg';
6
6
  import { useHistory, useLocation } from 'react-router-dom';
@@ -1,5 +1,5 @@
1
1
  import config from '@plone/volto/registry';
2
- import { getBaseUrl, flattenToAppURL } from '@plone/volto/helpers';
2
+ import { getBaseUrl, flattenToAppURL } from '@plone/volto/helpers/Url/Url';
3
3
  import PropTypes from 'prop-types';
4
4
  import { useEffect, useRef, useState } from 'react';
5
5
  import { useDispatch, useSelector } from 'react-redux';
@@ -110,8 +110,8 @@ const customSelectStyles = {
110
110
  color: state.isSelected
111
111
  ? '#007bc1'
112
112
  : state.isFocused
113
- ? '#4a4a4a'
114
- : 'inherit',
113
+ ? '#4a4a4a'
114
+ : 'inherit',
115
115
  ':active': {
116
116
  backgroundColor: null,
117
117
  },
@@ -155,8 +155,8 @@ const itemTracker = (tracker, currentStateKey, currentState) => {
155
155
  is_active
156
156
  ? 'progress__item--active'
157
157
  : tracker[1] < currentState.done
158
- ? 'progress__item--completed'
159
- : 'progress__item--next'
158
+ ? 'progress__item--completed'
159
+ : 'progress__item--next'
160
160
  }`}
161
161
  >
162
162
  {tracker[2].map((title, index) => (
@@ -382,8 +382,8 @@ const ProgressWorkflow = (props) => {
382
382
  currentStateClass[currentStateKey]
383
383
  ? `review-state-${currentStateKey}`
384
384
  : currentState.done === 100
385
- ? 'review-state-published'
386
- : ''
385
+ ? 'review-state-published'
386
+ : ''
387
387
  }`}
388
388
  id="toolbar-cut-blocks"
389
389
  onClick={toggleVisibleSide}
@@ -435,8 +435,8 @@ const ProgressWorkflow = (props) => {
435
435
  currentStateClass[currentStateKey]
436
436
  ? `review-state-${currentStateKey}`
437
437
  : currentState.done === 100
438
- ? 'review-state-published'
439
- : ''
438
+ ? 'review-state-published'
439
+ : ''
440
440
  }`}
441
441
  id="toolbar-cut-blocks"
442
442
  onClick={toggleVisibleSide}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Popup, Button, Modal } from 'semantic-ui-react';
3
- import { Icon } from '@plone/volto/components';
3
+ import Icon from '@plone/volto/components/theme/Icon/Icon';
4
4
  import downloadSVG from '@plone/volto/icons/download.svg';
5
5
 
6
6
  const TableauDownload = (props) => {
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Modal, Button } from 'semantic-ui-react';
3
- import { Icon } from '@plone/volto/components';
3
+ import Icon from '@plone/volto/components/theme/Icon/Icon';
4
4
  import { useHistory, useLocation } from 'react-router-dom';
5
5
  import fullscreenSVG from '@plone/volto/icons/fullscreen.svg';
6
6
 
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { Popup, Tab, Button, Menu, 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 { useCopyToClipboard } from '@eeacms/volto-marine-policy/helpers';
5
5
 
6
6
  import shareSVG from '@plone/volto/icons/share.svg';
@@ -7,14 +7,14 @@ import React from 'react';
7
7
  import PropTypes from 'prop-types';
8
8
  import { defineMessages, injectIntl } from 'react-intl';
9
9
  import { Container } from 'semantic-ui-react';
10
- import { map } from 'lodash';
10
+ import map from 'lodash/map';
11
+ import BodyClass from '@plone/volto/helpers/BodyClass/BodyClass';
11
12
  import {
12
- BodyClass,
13
13
  getBlocksFieldname,
14
14
  getBlocksLayoutFieldname,
15
15
  hasBlocksData,
16
- getBaseUrl,
17
- } from '@plone/volto/helpers';
16
+ } from '@plone/volto/helpers/Blocks/Blocks';
17
+ import { getBaseUrl } from '@plone/volto/helpers/Url/Url';
18
18
  import config from '@plone/volto/registry';
19
19
 
20
20
  const messages = defineMessages({
@@ -8,7 +8,7 @@ import PropTypes from 'prop-types';
8
8
  import { defineMessages, injectIntl } from 'react-intl';
9
9
 
10
10
  import { Container } from 'semantic-ui-react';
11
- import { map } from 'lodash';
11
+ import map from 'lodash/map';
12
12
 
13
13
  import config from '@plone/volto/registry';
14
14
 
@@ -16,8 +16,8 @@ import {
16
16
  getBlocksFieldname,
17
17
  getBlocksLayoutFieldname,
18
18
  hasBlocksData,
19
- getBaseUrl,
20
- } from '@plone/volto/helpers';
19
+ } from '@plone/volto/helpers/Blocks/Blocks';
20
+ import { getBaseUrl } from '@plone/volto/helpers/Url/Url';
21
21
 
22
22
  const messages = defineMessages({
23
23
  unknownBlock: {
@@ -5,7 +5,7 @@
5
5
 
6
6
  import React from 'react';
7
7
  import PropTypes from 'prop-types';
8
- import { map } from 'lodash';
8
+ import map from 'lodash/map';
9
9
  import { List } from 'semantic-ui-react';
10
10
  import { FormattedMessage, injectIntl } from 'react-intl';
11
11
  import AnchorLink from 'react-anchor-link-smooth-scroll';
@@ -17,7 +17,7 @@ import HeaderSearchPopUp from '@eeacms/volto-marine-policy/customizations/@eeacm
17
17
  import HeaderMenuPopUp from '@eeacms/volto-marine-policy/customizations/@eeacms/volto-eea-design-system/ui/Header/HeaderMenuPopUp';
18
18
  import PropTypes from 'prop-types';
19
19
 
20
- import { isInternalURL } from '@plone/volto/helpers';
20
+ import { isInternalURL } from '@plone/volto/helpers/Url/Url';
21
21
  import config from '@plone/volto/registry';
22
22
 
23
23
  Header.propTypes = {
@@ -1,3 +1,5 @@
1
+ /* eslint-disable react/jsx-filename-extension */
2
+
1
3
  import React, { useEffect, useState } from 'react';
2
4
  import {
3
5
  Accordion,
@@ -8,7 +10,7 @@ import {
8
10
  Transition,
9
11
  } from 'semantic-ui-react';
10
12
 
11
- import { cloneDeep } from 'lodash';
13
+ import cloneDeep from 'lodash/cloneDeep';
12
14
 
13
15
  import { useClickOutside } from '@eeacms/volto-eea-design-system/helpers';
14
16
 
@@ -1,3 +1,5 @@
1
+ /* eslint-disable react/jsx-filename-extension */
2
+
1
3
  import React, { useEffect } from 'react';
2
4
  import { Container, Input, List } from 'semantic-ui-react';
3
5
  import { withRouter, Link } from 'react-router-dom';
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { Breadcrumb } from 'semantic-ui-react';
3
3
  import { Link, useLocation } from 'react-router-dom';
4
4
  import { defineMessages, useIntl } from 'react-intl';
5
- import { langmap } from '@plone/volto/helpers';
5
+ import langmap from '@plone/volto/helpers/LanguageMap/LanguageMap';
6
6
  import ContentsBreadcrumbsRootItem from '@plone/volto/components/manage/Contents/ContentsBreadcrumbsRootItem';
7
7
  import ContentsBreadcrumbsHomeItem from '@plone/volto/components/manage/Contents/ContentsBreadcrumbsHomeItem';
8
8
 
@@ -8,14 +8,13 @@ import { connect } from 'react-redux';
8
8
  import jwtDecode from 'jwt-decode';
9
9
  import cx from 'classnames';
10
10
  import { FormattedMessage, injectIntl, defineMessages } from 'react-intl';
11
- import { Icon, UniversalLink } from '@plone/volto/components';
12
- import { getUser } from '@plone/volto/actions';
11
+ import Icon from '@plone/volto/components/theme/Icon/Icon';
12
+ import UniversalLink from '@plone/volto/components/manage/UniversalLink/UniversalLink';
13
+ import { getUser } from '@plone/volto/actions/users/users';
13
14
  import { Pluggable } from '@plone/volto/components/manage/Pluggable';
14
- import {
15
- flattenToAppURL,
16
- getBaseUrl,
17
- userHasRoles,
18
- } from '@plone/volto/helpers';
15
+ import { flattenToAppURL, getBaseUrl } from '@plone/volto/helpers/Url/Url';
16
+ import { userHasRoles } from '@plone/volto/helpers/User/User';
17
+ import Image from '@plone/volto/components/theme/Image/Image';
19
18
  import { withRouter } from 'react-router-dom';
20
19
  import { compose } from 'redux';
21
20
 
@@ -133,7 +132,7 @@ class PersonalTools extends Component {
133
132
  </header>
134
133
  <div className={cx('avatar', { default: !this.props.user.portrait })}>
135
134
  {this.props.user.portrait ? (
136
- <img
135
+ <Image
137
136
  src={flattenToAppURL(this.props.user.portrait)}
138
137
  alt={this.props.intl.formatMessage(messages.userAvatar)}
139
138
  />
@@ -11,7 +11,8 @@ import { connect } from 'react-redux';
11
11
  import { compose } from 'redux';
12
12
  import { doesNodeContainClick } from 'semantic-ui-react/dist/commonjs/lib';
13
13
  import { withCookies } from 'react-cookie';
14
- import { filter, find } from 'lodash';
14
+ import find from 'lodash/find';
15
+ import filter from 'lodash/filter';
15
16
  import cx from 'classnames';
16
17
  import config from '@plone/volto/registry';
17
18
 
@@ -21,19 +22,16 @@ import Types from '@plone/volto/components/manage/Toolbar/Types';
21
22
  import PersonalInformation from '@plone/volto/components/manage/Preferences/PersonalInformation';
22
23
  import PersonalPreferences from '@plone/volto/components/manage/Preferences/PersonalPreferences';
23
24
  import StandardWrapper from '@plone/volto/components/manage/Toolbar/StandardWrapper';
24
- import {
25
- getTypes,
26
- listActions,
27
- setExpandedToolbar,
28
- unlockContent,
29
- } from '@plone/volto/actions';
30
- import { Icon, UniversalLink } from '@plone/volto/components';
31
- import {
32
- BodyClass,
33
- getBaseUrl,
34
- getCookieOptions,
35
- hasApiExpander,
36
- } from '@plone/volto/helpers';
25
+ import { getTypes } from '@plone/volto/actions/types/types';
26
+ import { listActions } from '@plone/volto/actions/actions/actions';
27
+ import { setExpandedToolbar } from '@plone/volto/actions/toolbar/toolbar';
28
+ import { unlockContent } from '@plone/volto/actions/content/content';
29
+ import Icon from '@plone/volto/components/theme/Icon/Icon';
30
+ import UniversalLink from '@plone/volto/components/manage/UniversalLink/UniversalLink';
31
+ import BodyClass from '@plone/volto/helpers/BodyClass/BodyClass';
32
+ import { getBaseUrl } from '@plone/volto/helpers/Url/Url';
33
+ import { hasApiExpander } from '@plone/volto/helpers/Utils/Utils';
34
+ import { getCookieOptions } from '@plone/volto/helpers/Cookies/cookies';
37
35
  import { Pluggable } from '@plone/volto/components/manage/Pluggable';
38
36
 
39
37
  import penSVG from '@plone/volto/icons/pen.svg';
@@ -7,8 +7,9 @@ import React, { useEffect } from 'react';
7
7
  import { useDispatch, useSelector } from 'react-redux';
8
8
 
9
9
  import { useLocation } from 'react-router';
10
- import { getBaseUrl, hasApiExpander } from '@plone/volto/helpers';
11
- import { getBreadcrumbs } from '@plone/volto/actions';
10
+ import { getBaseUrl } from '@plone/volto/helpers/Url/Url';
11
+ import { hasApiExpander } from '@plone/volto/helpers/Utils/Utils';
12
+ import { getBreadcrumbs } from '@plone/volto/actions/breadcrumbs/breadcrumbs';
12
13
 
13
14
  import EEABreadcrumbs from '@eeacms/volto-eea-design-system/ui/Breadcrumbs/Breadcrumbs';
14
15
 
@@ -8,22 +8,19 @@ import { Dropdown, Image } from 'semantic-ui-react';
8
8
  import { connect, useDispatch, useSelector } from 'react-redux';
9
9
 
10
10
  import { withRouter } from 'react-router-dom';
11
- import { UniversalLink } from '@plone/volto/components';
12
- import {
13
- getBaseUrl,
14
- hasApiExpander,
15
- flattenToAppURL,
16
- } from '@plone/volto/helpers';
17
- import { getNavigation } from '@plone/volto/actions';
11
+ import UniversalLink from '@plone/volto/components/manage/UniversalLink/UniversalLink';
12
+ import { getBaseUrl, flattenToAppURL } from '@plone/volto/helpers/Url/Url';
13
+ import { hasApiExpander } from '@plone/volto/helpers/Utils/Utils';
14
+ import { getNavigation } from '@plone/volto/actions/navigation/navigation';
18
15
  import { Header, Logo } from '@eeacms/volto-eea-design-system/ui';
19
16
  import { usePrevious } from '@eeacms/volto-eea-design-system/helpers';
20
- import { find } from 'lodash';
17
+ import find from 'lodash/find';
21
18
  import globeIcon from '@eeacms/volto-eea-design-system/../theme/themes/eea/assets/images/Header/global-line.svg';
22
19
  import eeaFlag from '@eeacms/volto-eea-design-system/../theme/themes/eea/assets/images/Header/eea.png';
23
20
 
24
21
  import config from '@plone/volto/registry';
25
22
  import { compose } from 'recompose';
26
- import { BodyClass } from '@plone/volto/helpers';
23
+ import BodyClass from '@plone/volto/helpers/BodyClass/BodyClass';
27
24
 
28
25
  import cx from 'classnames';
29
26
 
@@ -1,5 +1,5 @@
1
1
  import express from 'express';
2
- import { getAPIResourceWithAuth } from '@plone/volto/helpers';
2
+ import { getAPIResourceWithAuth } from '@plone/volto/helpers/Api/APIResourceWithAuth';
3
3
 
4
4
  const HEADERS = [
5
5
  'Accept-Ranges',
package/src/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ /* eslint-disable react/jsx-filename-extension */
1
2
  import {
2
3
  // HeroSectionView,
3
4
  // FullwidthView,
@@ -28,7 +29,7 @@ import { LinkElement } from '@plone/volto-slate/editor/plugins/AdvancedLink/rend
28
29
  import { withLink } from '@plone/volto-slate/editor/plugins/AdvancedLink/extensions';
29
30
  import { linkDeserializer } from '@plone/volto-slate/editor/plugins/AdvancedLink/deserialize';
30
31
  import LinkEditSchema from '@plone/volto-slate/editor/plugins/AdvancedLink/schema';
31
- import { getBlocks } from '@plone/volto/helpers';
32
+ import { getBlocks } from '@plone/volto/helpers/Blocks/Blocks';
32
33
  import { defineMessages } from 'react-intl'; // , defineMessages
33
34
  import installDemoSitesExplorer from './components/Blocks/DemoSitesExplorer';
34
35
  import marineLogo from '@eeacms/volto-marine-policy/../theme/assets/images/Header/wise-marine-logo.svg';
@@ -95,6 +96,9 @@ const applyConfig = (config) => {
95
96
  workflowProgressPath,
96
97
  };
97
98
 
99
+ // we won't need the listing for Folders
100
+ delete config.views.layoutViews.listing_view;
101
+
98
102
  if (__SERVER__) {
99
103
  const installExpressMiddleware = require('./express-middleware').default;
100
104
  config = installExpressMiddleware(config);
@@ -3,8 +3,8 @@
3
3
  * @module reducers/breadcrumbs/breadcrumbs
4
4
  */
5
5
 
6
- import { map } from 'lodash';
7
- import { flattenToAppURL } from '@plone/volto/helpers';
6
+ import map from 'lodash/map';
7
+ import { flattenToAppURL } from '@plone/volto/helpers/Url/Url';
8
8
 
9
9
  import { GET_BREADCRUMBS } from '@plone/volto/constants/ActionTypes';
10
10
 
@@ -3,8 +3,8 @@
3
3
  * @module reducers/navigation/navigation
4
4
  */
5
5
 
6
- import { map } from 'lodash';
7
- import { flattenToAppURL } from '@plone/volto/helpers';
6
+ import map from 'lodash/map';
7
+ import { flattenToAppURL } from '@plone/volto/helpers/Url/Url';
8
8
 
9
9
  import { GET_NAVIGATION } from '@plone/volto/constants/ActionTypes';
10
10
 
package/src/utils.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import config from '@plone/volto/registry';
2
- import { flattenToAppURL } from '@plone/volto/helpers';
2
+ import { flattenToAppURL } from '@plone/volto/helpers/Url/Url';
3
3
 
4
4
  export const getPath = (url) =>
5
5
  url.startsWith('http') ? new URL(url).pathname : url;