diff --git a/packages/react-code-editor/src/components/CodeEditor/CodeEditor.tsx b/packages/react-code-editor/src/components/CodeEditor/CodeEditor.tsx
index ac1ec9ee242..9649e042810 100644
--- a/packages/react-code-editor/src/components/CodeEditor/CodeEditor.tsx
+++ b/packages/react-code-editor/src/components/CodeEditor/CodeEditor.tsx
@@ -596,7 +596,8 @@ export const CodeEditor = ({
)}
ref={ref}
>
- {(isUploadEnabled || emptyState) && !value ? (
+ {isUploadEnabled || emptyState ? (
+ /* Upload/EmptyState enabled: wrap in Dropzone container */
event.stopPropagation() // Prevents clicking TextArea from opening file dialog
@@ -619,7 +620,8 @@ export const CodeEditor = ({
) : (
- <>
+ /* No upload/emptyState: use consistent container structure */
+
{editorHeader}
{showEditor && (
@@ -627,7 +629,7 @@ export const CodeEditor = ({
{editor}
)}
- >
+
)}
);
diff --git a/packages/react-code-editor/src/components/CodeEditor/__test__/CodeEditor.test.tsx b/packages/react-code-editor/src/components/CodeEditor/__test__/CodeEditor.test.tsx
index d6b7d21fe10..1aa6d6bb253 100644
--- a/packages/react-code-editor/src/components/CodeEditor/__test__/CodeEditor.test.tsx
+++ b/packages/react-code-editor/src/components/CodeEditor/__test__/CodeEditor.test.tsx
@@ -17,17 +17,21 @@ test('Matches snapshot with control buttons enabled', () => {
test(`Renders with default classes ${styles.codeEditor}, ${styles.codeEditorCode}`, () => {
render();
expect(screen.getByTestId('mock-editor').parentElement).toHaveClass(styles.codeEditorCode);
- expect(screen.getByTestId('mock-editor').parentElement?.parentElement?.parentElement).toHaveClass(styles.codeEditor);
+ expect(screen.getByTestId('mock-editor').parentElement?.parentElement?.parentElement?.parentElement).toHaveClass(
+ styles.codeEditor
+ );
});
test('Renders custom class when className is passed', () => {
render();
- expect(screen.getByTestId('mock-editor').parentElement?.parentElement?.parentElement).toHaveClass('custom');
+ expect(screen.getByTestId('mock-editor').parentElement?.parentElement?.parentElement?.parentElement).toHaveClass(
+ 'custom'
+ );
});
test(`Renders with ${styles.modifiers.readOnly} when isReadOnly = true`, () => {
render();
- expect(screen.getByTestId('mock-editor').parentElement?.parentElement?.parentElement).toHaveClass(
+ expect(screen.getByTestId('mock-editor').parentElement?.parentElement?.parentElement?.parentElement).toHaveClass(
styles.modifiers.readOnly
);
});
diff --git a/packages/react-code-editor/src/components/CodeEditor/__test__/__snapshots__/CodeEditor.test.tsx.snap b/packages/react-code-editor/src/components/CodeEditor/__test__/__snapshots__/CodeEditor.test.tsx.snap
index 80f02fa90b6..40904d4b169 100644
--- a/packages/react-code-editor/src/components/CodeEditor/__test__/__snapshots__/CodeEditor.test.tsx.snap
+++ b/packages/react-code-editor/src/components/CodeEditor/__test__/__snapshots__/CodeEditor.test.tsx.snap
@@ -6,124 +6,130 @@ exports[`Matches snapshot with control buttons enabled 1`] = `
class="pf-v6-c-code-editor"
>
-
-
@@ -136,25 +142,29 @@ exports[`Matches snapshot without props 1`] = `
class="pf-v6-c-code-editor"
>
-