From 5ae2ccefb8fb403ae4359652aaf99e9231a3d3ce Mon Sep 17 00:00:00 2001 From: Tao Hu <73904+hut36@users.noreply.github.com> Date: Thu, 9 Apr 2026 18:49:06 +0800 Subject: [PATCH] fix(#171): focus on textarea on switching back to writing tab --- .../carta-md/src/lib/internal/components/Input.svelte | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/carta-md/src/lib/internal/components/Input.svelte b/packages/carta-md/src/lib/internal/components/Input.svelte index 01b1ed0d..f85b4daa 100644 --- a/packages/carta-md/src/lib/internal/components/Input.svelte +++ b/packages/carta-md/src/lib/internal/components/Input.svelte @@ -62,6 +62,7 @@ let highlightElem: HTMLDivElement; let wrapperElem: HTMLDivElement; let currentlyHighlightedValue = value; + let wasHidden = $state(hidden); const simpleUUID = Math.random().toString(36).substring(2); @@ -71,6 +72,7 @@ */ export const resize = () => { if (!mounted || !textarea) return; + textarea.style.height = '0'; textarea.style.minHeight = '0'; textarea.style.height = textarea.scrollHeight + 'px'; @@ -201,6 +203,15 @@ } }); + $effect(() => { + if (hidden) { + wasHidden = true; + } else if (wasHidden && mounted) { + wasHidden = false; + queueMicrotask(focus); + } + }); + /** * Mount callback */