diff --git a/apps/playground/src/components/sidebar/ToolsSidebar.tsx b/apps/playground/src/components/sidebar/ToolsSidebar.tsx index 30fac3a..3d6ed5b 100644 --- a/apps/playground/src/components/sidebar/ToolsSidebar.tsx +++ b/apps/playground/src/components/sidebar/ToolsSidebar.tsx @@ -102,10 +102,13 @@ export function ToolsSidebar(): React.ReactElement { {/* Tool Details Modal */} {selectedTool && ( - {/* biome-ignore lint/a11y/useSemanticElements: Modal backdrop - standard pattern for modal overlays with role=button */} + // biome-ignore lint/a11y/useSemanticElements: Modal backdrop - standard pattern for modal overlays with role=button
setSelectedTool(null)} + onClick={(e) => { + // Only close if clicking the backdrop itself, not the content + if (e.target === e.currentTarget) setSelectedTool(null); + }} onKeyDown={(e) => { if (e.key === 'Escape') setSelectedTool(null); }} @@ -113,13 +116,10 @@ export function ToolsSidebar(): React.ReactElement { tabIndex={0} aria-label="Close modal" > - {/* biome-ignore lint/a11y/useKeyWithClickEvents: Modal content - prevents click-through to backdrop */} -
e.stopPropagation()} - > +
{/* Close button */}