Browse Source

fix: move overflow-clip from contentClassName to inner visual wrappers to prevent handle clipping

Nodes that passed overflow-clip via contentClassName to BaseNode were
clipping their React Flow handles since handles are children of the
content div. Moved the clip to inner content wrappers that don't
contain handles.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
handoff-20260429-1057
shrimbly 4 months ago
parent
commit
875031d63d
  1. 4
      src/components/nodes/AnnotationNode.tsx
  2. 2
      src/components/nodes/GLBViewerNode.tsx
  3. 4
      src/components/nodes/ImageInputNode.tsx
  4. 2
      src/components/nodes/VideoTrimNode.tsx

4
src/components/nodes/AnnotationNode.tsx

@ -96,7 +96,7 @@ export function AnnotationNode({ id, data, selected }: NodeProps<AnnotationNodeT
<BaseNode
id={id}
selected={selected}
contentClassName="flex-1 min-h-0 overflow-clip"
contentClassName="flex-1 min-h-0"
aspectFitMedia={nodeData.outputImage}
>
<input
@ -122,7 +122,7 @@ export function AnnotationNode({ id, data, selected }: NodeProps<AnnotationNodeT
{displayImage ? (
<div
className="relative group cursor-pointer w-full h-full"
className="relative group cursor-pointer w-full h-full overflow-clip rounded-lg"
onClick={handleEdit}
>
<img

2
src/components/nodes/GLBViewerNode.tsx

@ -361,7 +361,7 @@ export function GLBViewerNode({ id, data, selected }: NodeProps<GLBViewerNodeTyp
<BaseNode
id={id}
selected={selected}
contentClassName={nodeData.glbUrl ? "flex-1 min-h-0 overflow-hidden flex flex-col" : undefined}
contentClassName={nodeData.glbUrl ? "flex-1 min-h-0 flex flex-col" : undefined}
aspectFitMedia={nodeData.capturedImage}
>
<input

4
src/components/nodes/ImageInputNode.tsx

@ -87,7 +87,7 @@ export function ImageInputNode({ id, data, selected }: NodeProps<ImageInputNodeT
<BaseNode
id={id}
selected={selected}
contentClassName="flex-1 min-h-0 overflow-clip"
contentClassName="flex-1 min-h-0"
aspectFitMedia={nodeData.image}
fullBleed
>
@ -109,7 +109,7 @@ export function ImageInputNode({ id, data, selected }: NodeProps<ImageInputNodeT
/>
{nodeData.image ? (
<div className="relative group w-full h-full">
<div className="relative group w-full h-full overflow-clip rounded-lg">
<img
src={adaptiveImage ?? undefined}
alt={nodeData.filename || "Uploaded image"}

2
src/components/nodes/VideoTrimNode.tsx

@ -204,7 +204,7 @@ export function VideoTrimNode({ id, data, selected }: NodeProps<VideoTrimNodeTyp
<BaseNode
id={id}
selected={selected}
contentClassName="flex-1 min-h-0 overflow-clip"
contentClassName="flex-1 min-h-0"
minWidth={360}
minHeight={360}
>

Loading…
Cancel
Save