/* jsxImportSource: react */
import { useState, useCallback, useRef } from 'react'
import { createPortal } from 'react-dom'
import { DocSearchModal, useDocSearchKeyboardEvents } from '@docsearch/react'
import '@docsearch/css//dist/style.css';
import './Search.css';
export function Search() {
const [isOpen, setIsOpen] = useState(false)
const searchButtonRef = useRef()
const [initialQuery, setInitialQuery] = useState(null)
const onOpen = useCallback(() => {
setIsOpen(true)
}, [setIsOpen])
const onClose = useCallback(() => {
setIsOpen(false)
}, [setIsOpen])
const onInput = useCallback(
(e) => {
setIsOpen(true)
setInitialQuery(e.key)
},
[setIsOpen, setInitialQuery]
)
useDocSearchKeyboardEvents({
isOpen,
onOpen,
onClose,
onInput,
searchButtonRef,
})
return (
<>
{isOpen &&
createPortal(
{
return items.map((item) => {
// We transform the absolute URL into a relative URL to
// work better on localhost, preview URLS.
const a = document.createElement('a')
a.href = item.url
console.log(a.hash);
const hash = a.hash === '#overview' ? '' : a.hash
return {
...item,
url: `${a.pathname}${hash}`,
}
})
}}
/>,
document.body
)}
>
)
}