From ba1573f2a124a9db8942875d02ce6091ce3fc85b Mon Sep 17 00:00:00 2001 From: Xavier Ruiz Date: Wed, 27 Aug 2025 04:10:04 -0400 Subject: [PATCH] fix(docsearch-js): provide unmounting function (#2602) --- packages/docsearch-js/src/docsearch.tsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/docsearch-js/src/docsearch.tsx b/packages/docsearch-js/src/docsearch.tsx index 32abcb9d..ba818061 100644 --- a/packages/docsearch-js/src/docsearch.tsx +++ b/packages/docsearch-js/src/docsearch.tsx @@ -1,6 +1,6 @@ import type { DocSearchProps as DocSearchComponentProps } from '@docsearch/react'; import { DocSearch, version } from '@docsearch/react'; -import React, { render } from 'preact/compat'; +import React, { render, unmountComponentAtNode } from 'preact/compat'; function getHTMLElement(value: HTMLElement | string, environment: DocSearchProps['environment'] = window): HTMLElement { if (typeof value === 'string') { @@ -15,7 +15,8 @@ interface DocSearchProps extends DocSearchComponentProps { environment?: typeof window; } -export function docsearch(props: DocSearchProps): void { +export function docsearch(props: DocSearchProps): () => void { + const containerElement = getHTMLElement(props.container, props.environment); render( , - getHTMLElement(props.container, props.environment), + containerElement, ); + return () => { + unmountComponentAtNode(containerElement); + }; }