const getPreviousSibling = (elem: HTMLElement, selector?: string) => { // Get the next sibling element let sibling = elem.previousElementSibling // If there's no selector, return the first sibling if (!selector) return sibling // If the sibling matches our selector, use it // If not, jump to the next sibling and continue the loop while (sibling) { if (sibling.matches(selector)) return sibling sibling = sibling.previousElementSibling } return } export default getPreviousSibling