UNPKG

@pnp/spfx-controls-react

Version:

Reusable React controls for SharePoint Framework solutions

46 lines 1.4 kB
export function getClosestAccordion(el) { return (el && (el.matches('[data-accordion-component="Accordion"]') ? el : getClosestAccordion(el.parentElement))); } export function getSiblingButtons(item) { var parentAccordion = getClosestAccordion(item); return (parentAccordion && Array.from(parentAccordion.querySelectorAll('[data-accordion-component="AccordionItemButton"]'))); } export function focusFirstSiblingOf(item) { var siblings = getSiblingButtons(item) || []; var first = siblings[0]; if (first) { first.focus(); } } export function focusLastSiblingOf(item) { var siblings = getSiblingButtons(item) || []; var last = siblings[siblings.length - 1]; if (last) { last.focus(); } } export function focusNextSiblingOf(item) { var siblings = getSiblingButtons(item) || []; var currentIndex = siblings.indexOf(item); if (currentIndex !== -1) { var next = siblings[currentIndex + 1]; if (next) { next.focus(); } } } export function focusPreviousSiblingOf(item) { var siblings = getSiblingButtons(item) || []; var currentIndex = siblings.indexOf(item); if (currentIndex !== -1) { var previous = siblings[currentIndex - 1]; if (previous) { previous.focus(); } } } //# sourceMappingURL=focus.js.map