{"ast":null,"code":"import { NEW_FOCUS, newFocus } from './solver';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { getAllTabbableNodes, getTabbableNodes } from './utils/DOMutils';\nimport { pickFirstFocus } from './utils/firstFocus';\nimport { isDefined, isNotAGuard } from './utils/is';\nimport { allParentAutofocusables, getTopCommonParent } from './utils/parenting';\nvar findAutoFocused = function findAutoFocused(autoFocusables) {\n  return function (node) {\n    return node.autofocus || node.dataset && !!node.dataset.autofocus || autoFocusables.indexOf(node) >= 0;\n  };\n};\nvar reorderNodes = function reorderNodes(srcNodes, dstNodes) {\n  var remap = new Map();\n  dstNodes.forEach(function (entity) {\n    return remap.set(entity.node, entity);\n  });\n  return srcNodes.map(function (node) {\n    return remap.get(node);\n  }).filter(isDefined);\n};\nexport var getFocusMerge = function getFocusMerge(topNode, lastNode) {\n  var activeElement = document && document.activeElement;\n  var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n  var commonParent = getTopCommonParent(activeElement || topNode, topNode, entries);\n  var visibilityCache = new Map();\n  var anyFocusable = getAllTabbableNodes(entries, visibilityCache);\n  var innerElements = getTabbableNodes(entries, visibilityCache).filter(function (_a) {\n    var node = _a.node;\n    return isNotAGuard(node);\n  });\n  if (!innerElements[0]) {\n    innerElements = anyFocusable;\n    if (!innerElements[0]) {\n      return undefined;\n    }\n  }\n  var outerNodes = getAllTabbableNodes([commonParent], visibilityCache).map(function (_a) {\n    var node = _a.node;\n    return node;\n  });\n  var orderedInnerElements = reorderNodes(outerNodes, innerElements);\n  var innerNodes = orderedInnerElements.map(function (_a) {\n    var node = _a.node;\n    return node;\n  });\n  var newId = newFocus(innerNodes, outerNodes, activeElement, lastNode);\n  if (newId === NEW_FOCUS) {\n    var autoFocusable = anyFocusable.map(function (_a) {\n      var node = _a.node;\n      return node;\n    }).filter(findAutoFocused(allParentAutofocusables(entries, visibilityCache)));\n    return {\n      node: autoFocusable && autoFocusable.length ? pickFirstFocus(autoFocusable) : pickFirstFocus(innerNodes)\n    };\n  }\n  if (newId === undefined) {\n    return newId;\n  }\n  return orderedInnerElements[newId];\n};","map":{"version":3,"names":["NEW_FOCUS","newFocus","getAllAffectedNodes","getAllTabbableNodes","getTabbableNodes","pickFirstFocus","isDefined","isNotAGuard","allParentAutofocusables","getTopCommonParent","findAutoFocused","autoFocusables","node","autofocus","dataset","indexOf","reorderNodes","srcNodes","dstNodes","remap","Map","forEach","entity","set","map","get","filter","getFocusMerge","topNode","lastNode","activeElement","document","entries","commonParent","visibilityCache","anyFocusable","innerElements","_a","undefined","outerNodes","orderedInnerElements","innerNodes","newId","autoFocusable","length"],"sources":["D:/DSP_Management/node_modules/focus-lock/dist/es2015/focusMerge.js"],"sourcesContent":["import { NEW_FOCUS, newFocus } from './solver';\nimport { getAllAffectedNodes } from './utils/all-affected';\nimport { getAllTabbableNodes, getTabbableNodes } from './utils/DOMutils';\nimport { pickFirstFocus } from './utils/firstFocus';\nimport { isDefined, isNotAGuard } from './utils/is';\nimport { allParentAutofocusables, getTopCommonParent } from './utils/parenting';\nvar findAutoFocused = function (autoFocusables) { return function (node) {\n    return node.autofocus || (node.dataset && !!node.dataset.autofocus) || autoFocusables.indexOf(node) >= 0;\n}; };\nvar reorderNodes = function (srcNodes, dstNodes) {\n    var remap = new Map();\n    dstNodes.forEach(function (entity) { return remap.set(entity.node, entity); });\n    return srcNodes.map(function (node) { return remap.get(node); }).filter(isDefined);\n};\nexport var getFocusMerge = function (topNode, lastNode) {\n    var activeElement = (document && document.activeElement);\n    var entries = getAllAffectedNodes(topNode).filter(isNotAGuard);\n    var commonParent = getTopCommonParent(activeElement || topNode, topNode, entries);\n    var visibilityCache = new Map();\n    var anyFocusable = getAllTabbableNodes(entries, visibilityCache);\n    var innerElements = getTabbableNodes(entries, visibilityCache).filter(function (_a) {\n        var node = _a.node;\n        return isNotAGuard(node);\n    });\n    if (!innerElements[0]) {\n        innerElements = anyFocusable;\n        if (!innerElements[0]) {\n            return undefined;\n        }\n    }\n    var outerNodes = getAllTabbableNodes([commonParent], visibilityCache).map(function (_a) {\n        var node = _a.node;\n        return node;\n    });\n    var orderedInnerElements = reorderNodes(outerNodes, innerElements);\n    var innerNodes = orderedInnerElements.map(function (_a) {\n        var node = _a.node;\n        return node;\n    });\n    var newId = newFocus(innerNodes, outerNodes, activeElement, lastNode);\n    if (newId === NEW_FOCUS) {\n        var autoFocusable = anyFocusable\n            .map(function (_a) {\n            var node = _a.node;\n            return node;\n        })\n            .filter(findAutoFocused(allParentAutofocusables(entries, visibilityCache)));\n        return {\n            node: autoFocusable && autoFocusable.length ? pickFirstFocus(autoFocusable) : pickFirstFocus(innerNodes),\n        };\n    }\n    if (newId === undefined) {\n        return newId;\n    }\n    return orderedInnerElements[newId];\n};\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}