MCPcopy Index your code
hub / github.com/primer/react / getPreviousPageElement

Function getPreviousPageElement

packages/react/src/TreeView/useRovingTabIndex.ts:243–260  ·  view source on GitHub ↗
(element: HTMLElement)

Source from the content-addressed store, hash-verified

241}
242
243function getPreviousPageElement(element: HTMLElement): HTMLElement | undefined {
244 const root = element.closest('[role="tree"]')
245 if (!root) {
246 return
247 }
248
249 const items = Array.from(root.querySelectorAll('[role="treeitem"]')) as HTMLElement[]
250 if (items.length === 0) {
251 return
252 }
253
254 const itemLabel = items[0].firstElementChild as HTMLElement
255 const pageSize = getPageSize(root, itemLabel)
256 const page = Math.floor(items.indexOf(element) / pageSize)
257 const offset = items.indexOf(element) - pageSize * page
258
259 return items[Math.max(0, (page - 1) * pageSize + offset)]
260}

Callers 1

getNextFocusableElementFunction · 0.85

Calls 1

getPageSizeFunction · 0.85

Tested by

no test coverage detected