diff --git a/packages/volto/news/6754.internal b/packages/volto/news/6754.internal
new file mode 100644
index 0000000000..979e8bc316
--- /dev/null
+++ b/packages/volto/news/6754.internal
@@ -0,0 +1 @@
+Use `Image` from `@plone/volto/components/theme/Image/Image` instead of `semantic-ui-react`. @wesleybl
diff --git a/packages/volto/src/components/manage/Widgets/FileWidget.jsx b/packages/volto/src/components/manage/Widgets/FileWidget.jsx
index 9579711224..5e49390a81 100644
--- a/packages/volto/src/components/manage/Widgets/FileWidget.jsx
+++ b/packages/volto/src/components/manage/Widgets/FileWidget.jsx
@@ -5,7 +5,7 @@
import React from 'react';
import PropTypes from 'prop-types';
-import { Button, Image, Dimmer } from 'semantic-ui-react';
+import { Button, Dimmer } from 'semantic-ui-react';
import { readAsDataURL } from 'promise-file-reader';
import { injectIntl } from 'react-intl';
import deleteSVG from '@plone/volto/icons/delete.svg';
@@ -16,6 +16,7 @@ import loadable from '@loadable/component';
import { flattenToAppURL } from '@plone/volto/helpers/Url/Url';
import { validateFileUploadSize } from '@plone/volto/helpers/FormValidation/FormValidation';
import { defineMessages, useIntl } from 'react-intl';
+import Image from '@plone/volto/components/theme/Image/Image';
const imageMimetypes = [
'image/png',
@@ -131,9 +132,8 @@ const FileWidget = (props) => {
{isDragActive && }
{fileType ? (
) : (
diff --git a/packages/volto/src/components/manage/Widgets/ObjectBrowserWidget.jsx b/packages/volto/src/components/manage/Widgets/ObjectBrowserWidget.jsx
index 74b8ab976b..6a408fcfcf 100644
--- a/packages/volto/src/components/manage/Widgets/ObjectBrowserWidget.jsx
+++ b/packages/volto/src/components/manage/Widgets/ObjectBrowserWidget.jsx
@@ -12,7 +12,7 @@ import isArray from 'lodash/isArray';
import isEmpty from 'lodash/isEmpty';
import remove from 'lodash/remove';
import { connect } from 'react-redux';
-import { Image, Label, Popup, Button } from 'semantic-ui-react';
+import { Label, Popup, Button } from 'semantic-ui-react';
import {
flattenToAppURL,
isInternalURL,
@@ -33,6 +33,7 @@ import homeSVG from '@plone/volto/icons/home.svg';
import aheadSVG from '@plone/volto/icons/ahead.svg';
import blankSVG from '@plone/volto/icons/blank.svg';
import { withRouter } from 'react-router';
+import Image from '@plone/volto/components/theme/Image/Image';
const messages = defineMessages({
placeholder: {
@@ -131,7 +132,7 @@ export class ObjectBrowserWidgetComponent extends Component {
{includes(config.settings.imageObjects, item['@type']) ? (
) : (
diff --git a/packages/volto/src/components/manage/Widgets/RegistryImageWidget.jsx b/packages/volto/src/components/manage/Widgets/RegistryImageWidget.jsx
index 7ab9238486..7979379dc8 100644
--- a/packages/volto/src/components/manage/Widgets/RegistryImageWidget.jsx
+++ b/packages/volto/src/components/manage/Widgets/RegistryImageWidget.jsx
@@ -5,7 +5,7 @@
import React, { useState } from 'react';
import PropTypes from 'prop-types';
-import { Button, Image, Dimmer } from 'semantic-ui-react';
+import { Button, Dimmer } from 'semantic-ui-react';
import { readAsDataURL } from 'promise-file-reader';
import { injectIntl } from 'react-intl';
import deleteSVG from '@plone/volto/icons/delete.svg';
@@ -15,6 +15,7 @@ import loadable from '@loadable/component';
import { defineMessages, useIntl } from 'react-intl';
import { toPublicURL } from '@plone/volto/helpers/Url/Url';
import { validateFileUploadSize } from '@plone/volto/helpers/FormValidation/FormValidation';
+import Image from '@plone/volto/components/theme/Image/Image';
const imageMimetypes = [
'image/png',
@@ -119,9 +120,8 @@ const RegistryImageWidget = (props) => {
{isDragActive &&
}
{previewSrc ? (
) : (
diff --git a/packages/volto/src/components/manage/Widgets/__snapshots__/FileWidget.test.jsx.snap b/packages/volto/src/components/manage/Widgets/__snapshots__/FileWidget.test.jsx.snap
index 72f5467cb7..4590f2d19d 100644
--- a/packages/volto/src/components/manage/Widgets/__snapshots__/FileWidget.test.jsx.snap
+++ b/packages/volto/src/components/manage/Widgets/__snapshots__/FileWidget.test.jsx.snap
@@ -33,7 +33,9 @@ exports[`FileWidget renders a file widget component with value 1`] = `
tabindex="0"
>
![](http://myfile?id=0)
@@ -116,7 +118,9 @@ exports[`FileWidget renders a file widget component with value in raw data 1`] =
tabindex="0"
>
![](data:image/png;base64,oiweurtksdgfjaslfqw9523563456)
diff --git a/packages/volto/src/components/manage/Widgets/__snapshots__/RegistryImageWidget.test.jsx.snap b/packages/volto/src/components/manage/Widgets/__snapshots__/RegistryImageWidget.test.jsx.snap
index 03a62b60b6..b77d75dfbe 100644
--- a/packages/volto/src/components/manage/Widgets/__snapshots__/RegistryImageWidget.test.jsx.snap
+++ b/packages/volto/src/components/manage/Widgets/__snapshots__/RegistryImageWidget.test.jsx.snap
@@ -33,7 +33,9 @@ exports[`RegistryImageWidget renders a file widget component with value 1`] = `
tabindex="0"
>
![](http://localhost:3000/@@site-logo/logo.cab945d8.svg)
diff --git a/packages/volto/src/components/theme/Logo/Logo.jsx b/packages/volto/src/components/theme/Logo/Logo.jsx
index e2bb4cd73e..2f49b91869 100644
--- a/packages/volto/src/components/theme/Logo/Logo.jsx
+++ b/packages/volto/src/components/theme/Logo/Logo.jsx
@@ -4,13 +4,13 @@
*/
import { defineMessages, useIntl } from 'react-intl';
import { useEffect } from 'react';
-import { Image } from 'semantic-ui-react';
import LogoImage from '@plone/volto/components/theme/Logo/Logo.svg';
import { useSelector, useDispatch } from 'react-redux';
import { Link, useLocation } from 'react-router-dom';
import { getNavroot } from '@plone/volto/actions/navroot/navroot';
import { flattenToAppURL, getBaseUrl } from '@plone/volto/helpers/Url/Url';
import { hasApiExpander } from '@plone/volto/helpers/Utils/Utils';
+import Image from '@plone/volto/components/theme/Image/Image';
/**
* Logo component class.
@@ -47,6 +47,7 @@ const Logo = () => {
return (
@@ -23,6 +24,7 @@ exports[`Multilingual Logo renders a logo component in a multilingual site root
![Logo of Plone Site](Logo.svg)
@@ -37,6 +39,7 @@ exports[`Multilingual Logo renders a logo component with a custom logo in a non-
![Logo of Plone Site](/@@site-logo/logo.cab945d8.svg)
@@ -51,6 +54,7 @@ exports[`Multilingual Logo renders a logo component with a custom logo in a non-
![Logo of Plone Site](/@@site-logo/logo.cab945d8.svg)
diff --git a/packages/volto/src/components/theme/Logo/__snapshots__/Logo.test.jsx.snap b/packages/volto/src/components/theme/Logo/__snapshots__/Logo.test.jsx.snap
index 2d61e70306..67e23f1697 100644
--- a/packages/volto/src/components/theme/Logo/__snapshots__/Logo.test.jsx.snap
+++ b/packages/volto/src/components/theme/Logo/__snapshots__/Logo.test.jsx.snap
@@ -9,6 +9,7 @@ exports[`Logo renders a logo component with a custom logo 1`] = `
![Logo of Plone Site](/@@site-logo/logo.cab945d8.svg)
@@ -23,6 +24,7 @@ exports[`Logo renders a logo component with a custom logo in a non-root url 1`]
![Logo of Plone Site](/@@site-logo/logo.cab945d8.svg)
@@ -37,6 +39,7 @@ exports[`Logo renders a logo component with default config 1`] = `
![Logo of Plone Site](Logo.svg)
@@ -51,6 +54,7 @@ exports[`Logo renders a logo component with default config in a non-root url 1`]
![Logo of Plone Site](/@@site-logo/logo.cab945d8.svg)
diff --git a/packages/volto/src/components/theme/Navigation/ContextNavigation.jsx b/packages/volto/src/components/theme/Navigation/ContextNavigation.jsx
index 2800ad8b3c..60ac2dbd61 100644
--- a/packages/volto/src/components/theme/Navigation/ContextNavigation.jsx
+++ b/packages/volto/src/components/theme/Navigation/ContextNavigation.jsx
@@ -1,6 +1,6 @@
import PropTypes from 'prop-types';
import React from 'react';
-import { List, Image } from 'semantic-ui-react';
+import { List } from 'semantic-ui-react';
import { Link as RouterLink } from 'react-router-dom';
import cx from 'classnames';
import { compose } from 'redux';
@@ -13,6 +13,7 @@ import UniversalLink from '@plone/volto/components/manage/UniversalLink/Universa
import { withContentNavigation } from './withContentNavigation';
import leftIcon from '@plone/volto/icons/left-key.svg';
+import Image from '@plone/volto/components/theme/Image/Image';
const messages = defineMessages({
navigation: {
@@ -38,7 +39,11 @@ function renderNode(node, parentLevel) {
in_path: node.is_in_path,
})}
>
- {node.thumb ?
: ''}
+ {node.thumb ? (
+
+ ) : (
+ ''
+ )}
{node.title}
{node.is_current ? (