diff --git a/packages/toolpad-app/src/toolpad/AppEditor/PageEditor/RenderPanel/NodeHud.tsx b/packages/toolpad-app/src/toolpad/AppEditor/PageEditor/RenderPanel/NodeHud.tsx index f00adb3cd14..ad3ef3c0643 100644 --- a/packages/toolpad-app/src/toolpad/AppEditor/PageEditor/RenderPanel/NodeHud.tsx +++ b/packages/toolpad-app/src/toolpad/AppEditor/PageEditor/RenderPanel/NodeHud.tsx @@ -42,7 +42,7 @@ const NodeHudWrapper = styled('div', { position: 'absolute', userSelect: 'none', outline: `1px dotted ${isOutlineVisible ? theme.palette.primary[500] : 'transparent'}`, - zIndex: 2, + zIndex: 80, '&:hover': { outline: `2px dashed ${isHoverable ? 'transparent' : theme.palette.primary[500]}`, }, @@ -53,7 +53,7 @@ const NodeHudWrapper = styled('div', { outline: `2px solid ${theme.palette.primary[500]}`, left: 0, top: 0, - zIndex: 2, + zIndex: 80, }, [`&.${nodeHudClasses.allowNodeInteraction}`]: { // block pointer-events so we can interact with the selection @@ -90,7 +90,7 @@ const SelectionHintWrapper = styled('div', { const DraggableEdgeWrapper = styled('div')({ userSelect: 'none', position: 'absolute', - zIndex: 3, + zIndex: 90, }); const DraggableEdge = styled('div', { @@ -131,14 +131,14 @@ const DraggableEdge = styled('div', { ...dynamicStyles, position: 'absolute', pointerEvents: 'initial', - zIndex: 3, + zIndex: 90, }; }); const ResizePreview = styled('div')(({ theme }) => ({ backgroundColor: theme.palette.primary[500], opacity: 0.2, - zIndex: 3, + zIndex: 90, })); interface NodeHudProps { diff --git a/packages/toolpad-app/src/toolpad/AppEditor/PageEditor/RenderPanel/RenderOverlay.tsx b/packages/toolpad-app/src/toolpad/AppEditor/PageEditor/RenderPanel/RenderOverlay.tsx index 133f4977249..4c502c1bfbc 100644 --- a/packages/toolpad-app/src/toolpad/AppEditor/PageEditor/RenderPanel/RenderOverlay.tsx +++ b/packages/toolpad-app/src/toolpad/AppEditor/PageEditor/RenderPanel/RenderOverlay.tsx @@ -37,6 +37,7 @@ import { RECTANGLE_EDGE_TOP, rectContainsPoint, } from '../../../../utils/geometry'; +import { omit } from '../../../../utils/immutability'; import NodeHud from './NodeHud'; import { OverlayGrid, OverlayGridHandle } from './OverlayGrid'; import { NodeInfo } from '../../../../types'; @@ -1267,7 +1268,7 @@ export default function RenderOverlay({ bridge }: RenderOverlayProps) { return normalizePageRowColumnSizes(draft); }, currentView.kind === 'page' - ? { ...currentView, selectedNodeId: newNode?.id || draggedNodeId } + ? { ...omit(currentView, 'tab'), selectedNodeId: newNode?.id || draggedNodeId } : currentView, ); @@ -1580,7 +1581,7 @@ export default function RenderOverlay({ bridge }: RenderOverlayProps) { const isPageColumnChild = parent ? appDom.isElement(parent) && isPageColumn(parent) : false; const isSelected = selectedNode && !newNode ? selectedNode.id === node.id : false; - const isInteractive = interactiveNodes.has(node.id) && !draggedEdge; + const isInteractive = interactiveNodes.has(node.id) && !draggedNode && !draggedEdge; const isHorizontallyResizable = isSelected && (isPageRowChild || isPageColumnChild); const isVerticallyResizable =