diff --git a/packages/core/content-manager/admin/src/pages/EditView/components/InputRenderer.tsx b/packages/core/content-manager/admin/src/pages/EditView/components/InputRenderer.tsx
index a41054bfd7..bd1f452311 100644
--- a/packages/core/content-manager/admin/src/pages/EditView/components/InputRenderer.tsx
+++ b/packages/core/content-manager/admin/src/pages/EditView/components/InputRenderer.tsx
@@ -4,6 +4,7 @@ import {
useStrapiApp,
useForm,
InputRenderer as FormInputRenderer,
+ useField,
} from '@strapi/admin/strapi-admin';
import { useIntl } from 'react-intl';
@@ -63,6 +64,9 @@ const InputRenderer = ({ visible, hint: providedHint, ...props }: InputRendererP
edit: { components },
} = useDocLayout();
+ // We pass field in case of Custom Fields to keep backward compatibility
+ const field = useField(props.name);
+
if (!visible) {
return null;
}
@@ -86,7 +90,7 @@ const InputRenderer = ({ visible, hint: providedHint, ...props }: InputRendererP
if (CustomInput) {
// @ts-expect-error – TODO: fix this type error in the useLazyComponents hook.
- return ;
+ return ;
}
return (
diff --git a/packages/plugins/color-picker/admin/src/components/ColorPickerInput.tsx b/packages/plugins/color-picker/admin/src/components/ColorPickerInput.tsx
index 00b9893c0b..4bbb291803 100644
--- a/packages/plugins/color-picker/admin/src/components/ColorPickerInput.tsx
+++ b/packages/plugins/color-picker/admin/src/components/ColorPickerInput.tsx
@@ -10,7 +10,7 @@ import {
useComposedRefs,
} from '@strapi/design-system';
import { CaretDown } from '@strapi/icons';
-import { useField, type InputProps } from '@strapi/strapi/admin';
+import { useField, type InputProps, type FieldValue } from '@strapi/strapi/admin';
import { HexColorPicker } from 'react-colorful';
import { useIntl } from 'react-intl';
import { styled } from 'styled-components';
@@ -73,13 +73,16 @@ const ColorPickerPopover = styled(Popover.Content)`
min-height: 270px;
`;
-type ColorPickerInputProps = InputProps & {
- labelAction?: React.ReactNode;
-};
+type ColorPickerInputProps = InputProps &
+ FieldValue & {
+ labelAction?: React.ReactNode;
+ };
export const ColorPickerInput = React.forwardRef(
- ({ hint, disabled = false, labelAction, label, name, required = false }, forwardedRef) => {
- const { onChange, value, error } = useField(name);
+ (
+ { hint, disabled = false, labelAction, label, name, required = false, onChange, value, error },
+ forwardedRef
+ ) => {
const [showColorPicker, setShowColorPicker] = React.useState(false);
const colorPickerButtonRef = React.useRef(null!);
const { formatMessage } = useIntl();
diff --git a/packages/plugins/color-picker/admin/src/components/tests/ColorPickerInput.test.tsx b/packages/plugins/color-picker/admin/src/components/tests/ColorPickerInput.test.tsx
index 4e13011b5a..3e8fa1829b 100644
--- a/packages/plugins/color-picker/admin/src/components/tests/ColorPickerInput.test.tsx
+++ b/packages/plugins/color-picker/admin/src/components/tests/ColorPickerInput.test.tsx
@@ -7,20 +7,30 @@ import { IntlProvider } from 'react-intl';
import { ColorPickerInput } from '../ColorPickerInput';
const render = () => ({
- ...renderRTL(, {
- wrapper: ({ children }) => {
- const locale = 'en';
- return (
-
-
-
-
-
- );
- },
- }),
+ ...renderRTL(
+ {}}
+ />,
+ {
+ wrapper: ({ children }) => {
+ const locale = 'en';
+ return (
+
+
+
+
+
+ );
+ },
+ }
+ ),
user: userEvent.setup(),
});