From 90bb977e02fc3e9ff2f7f6aa85595dd52cb90c2e Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 30 May 2026 17:12:31 +0000 Subject: [PATCH] Give the slash menu the full card by padding the editor, not the card Crepe appends the slash menu to .milkdown and (in this version) doesn't expose a way to portal it to , so it's clipped by the editor's scroll box. That box sat inside the card's p-5 padding, so the menu cut off at the padding edge. Move the padding onto the ProseMirror content instead and drop the redundant inner scroll container, so the menu's clipping bounds become the full card. https://claude.ai/code/session_019DU6V5z6Nr4Vu7b1fBDnq4 --- js/desktop/src/features/compose/markdown-editor.css | 3 +++ js/desktop/src/features/compose/text-editor.tsx | 9 ++++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/js/desktop/src/features/compose/markdown-editor.css b/js/desktop/src/features/compose/markdown-editor.css index 4065089..f33e6b7 100644 --- a/js/desktop/src/features/compose/markdown-editor.css +++ b/js/desktop/src/features/compose/markdown-editor.css @@ -69,6 +69,9 @@ overflow-y: auto; } +/* Pad the content (not the card) so the slash menu — which Crepe appends to + * .milkdown — can use the full card width/height before clipping. */ .llink-crepe--fill .milkdown .ProseMirror { min-height: 100%; + padding: 1.25rem; } diff --git a/js/desktop/src/features/compose/text-editor.tsx b/js/desktop/src/features/compose/text-editor.tsx index 38db7ab..6855299 100644 --- a/js/desktop/src/features/compose/text-editor.tsx +++ b/js/desktop/src/features/compose/text-editor.tsx @@ -190,8 +190,11 @@ export function TextEditor({ {...dropZoneProps} onKeyDownCapture={handleKeyDown} > -
-
+
+ {/* No padding here: the editor's own scroll box hosts the slash menu, + so we pad inside the editor (ProseMirror) instead. That keeps the + menu's clipping bounds the full card rather than the inset box. */} +
{hasEnrichments && strip && ( -
+
{strip}
)}