18 lines
644 B
JavaScript
18 lines
644 B
JavaScript
import * as React from 'react';
|
|
import { useFluent_unstable } from '@fluentui/react-shared-contexts';
|
|
import { createHTMLElementWalker } from '../utils/createHTMLElementWalker';
|
|
import { treeItemFilter } from '../utils/treeItemFilter';
|
|
export function useHTMLElementWalkerRef() {
|
|
const { targetDocument } = useFluent_unstable();
|
|
const walkerRef = React.useRef();
|
|
const rootRef = React.useCallback((root)=>{
|
|
walkerRef.current = targetDocument && root ? createHTMLElementWalker(root, targetDocument, treeItemFilter) : undefined;
|
|
}, [
|
|
targetDocument
|
|
]);
|
|
return {
|
|
walkerRef,
|
|
rootRef
|
|
};
|
|
}
|