From d45dc931ee59e63c7b734a3a01841f231c40c054 Mon Sep 17 00:00:00 2001 From: zsviczian Date: Tue, 10 Sep 2024 18:29:34 +0200 Subject: [PATCH] Zoom to tiny text --- packages/excalidraw/components/SearchMenu.tsx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/excalidraw/components/SearchMenu.tsx b/packages/excalidraw/components/SearchMenu.tsx index a7bf9b447..199849566 100644 --- a/packages/excalidraw/components/SearchMenu.tsx +++ b/packages/excalidraw/components/SearchMenu.tsx @@ -135,12 +135,17 @@ export const SearchMenu = () => { if (match) { const matchAsElement = newTextElement({ text: match.keyword, + rawText: match.keyword, x: match.textElement.x + (match.matchedLines[0]?.offsetX ?? 0), y: match.textElement.y + (match.matchedLines[0]?.offsetY ?? 0), width: match.matchedLines[0]?.width, height: match.matchedLines[0]?.height, }); + const isTinyText = + app.state.zoom.value * + searchMatches.items[focusIndex].textElement.fontSize < + 16; if ( !isElementCompletelyInViewport( [matchAsElement], @@ -155,12 +160,14 @@ export const SearchMenu = () => { }, app.scene.getNonDeletedElementsMap(), app.getEditorUIOffsets(), - ) + ) || + isTinyText ) { app.scrollToContent(matchAsElement, { fitToContent: true, animate: true, duration: 300, + ...(isTinyText ? { viewportZoomFactor: 1 } : {}), }); }