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 */