Outlook_Addin_LLM/node_modules/@fluentui/react-tree/lib-commonjs/utils/createHTMLElementWalker.js

78 lines
2.7 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "createHTMLElementWalker", {
enumerable: true,
get: function() {
return createHTMLElementWalker;
}
});
const _reactutilities = require("@fluentui/react-utilities");
function createHTMLElementWalker(root, targetDocument, filter = ()=>NodeFilter.FILTER_ACCEPT) {
let temporaryFilter;
const treeWalker = targetDocument.createTreeWalker(root, NodeFilter.SHOW_ELEMENT, {
acceptNode (node) {
if (!(0, _reactutilities.isHTMLElement)(node)) {
return NodeFilter.FILTER_REJECT;
}
const filterResult = filter(node);
var _temporaryFilter;
return filterResult === NodeFilter.FILTER_ACCEPT ? (_temporaryFilter = temporaryFilter === null || temporaryFilter === void 0 ? void 0 : temporaryFilter(node)) !== null && _temporaryFilter !== void 0 ? _temporaryFilter : filterResult : filterResult;
}
});
return {
get root () {
return treeWalker.root;
},
get currentElement () {
return treeWalker.currentNode;
},
set currentElement (element){
treeWalker.currentNode = element;
},
firstChild: (localFilter)=>{
temporaryFilter = localFilter;
const result = treeWalker.firstChild();
temporaryFilter = undefined;
return result;
},
lastChild: (localFilter)=>{
temporaryFilter = localFilter;
const result = treeWalker.lastChild();
temporaryFilter = undefined;
return result;
},
nextElement: (localFilter)=>{
temporaryFilter = localFilter;
const result = treeWalker.nextNode();
temporaryFilter = undefined;
return result;
},
nextSibling: (localFilter)=>{
temporaryFilter = localFilter;
const result = treeWalker.nextSibling();
temporaryFilter = undefined;
return result;
},
parentElement: (localFilter)=>{
temporaryFilter = localFilter;
const result = treeWalker.parentNode();
temporaryFilter = undefined;
return result;
},
previousElement: (localFilter)=>{
temporaryFilter = localFilter;
const result = treeWalker.previousNode();
temporaryFilter = undefined;
return result;
},
previousSibling: (localFilter)=>{
temporaryFilter = localFilter;
const result = treeWalker.previousSibling();
temporaryFilter = undefined;
return result;
}
};
}