* initial implementation of search modal * added hit and search suggestions * added support for multiple indices * updated sample env * added close when click outside dropdown * test for mobile * added mobile design * added shortcut * dark mode fixes * added search to docs * added plugins filter * added React import * moved filters to configurations * handled error on page load * change suggestion text * removed hits limit * handle select all * open link in current tab * change highlight colors * added support for shortcuts + auto focus * change header and footer * redesigned search ui
30 lines
683 B
TypeScript
30 lines
683 B
TypeScript
export function findPrevSibling(
|
|
element: HTMLElement,
|
|
selector: string
|
|
): HTMLElement | null {
|
|
let prevElement = element.previousElementSibling
|
|
while (prevElement !== null) {
|
|
if (prevElement.matches(selector)) {
|
|
return prevElement as HTMLElement
|
|
}
|
|
prevElement = prevElement.previousElementSibling
|
|
}
|
|
|
|
return null
|
|
}
|
|
|
|
export function findNextSibling(
|
|
element: HTMLElement,
|
|
selector: string
|
|
): HTMLElement | null {
|
|
let nextElement = element.nextElementSibling
|
|
while (nextElement !== null) {
|
|
if (nextElement.matches(selector)) {
|
|
return nextElement as HTMLElement
|
|
}
|
|
nextElement = nextElement.nextElementSibling
|
|
}
|
|
|
|
return null
|
|
}
|