{"version":3,"sources":["node_modules\\react-dom\\lib\\ReactDOMTreeTraversal.js"],"names":["_prodInvariant","require","invariant","getLowestCommonAncestor","instA","instB","process","env","NODE_ENV","depthA","tempA","_hostParent","depthB","tempB","depth","isAncestor","getParentInstance","inst","traverseTwoPhase","fn","arg","path","push","i","length","traverseEnterLeave","from","to","argFrom","argTo","common","pathFrom","pathTo","module","exports"],"mappings":"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","file":"ReactDOMTreeTraversal.js","sourceRoot":"d:/Work/Office/react-native-on-web/cli/tmpl/project","sourcesContent":["/**\n * Copyright 2015-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Return the lowest common ancestor of A and B, or null if they are in\n * different trees.\n */\nfunction getLowestCommonAncestor(instA, instB) {\n  !('_hostNode' in instA) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0;\n  !('_hostNode' in instB) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0;\n\n  var depthA = 0;\n  for (var tempA = instA; tempA; tempA = tempA._hostParent) {\n    depthA++;\n  }\n  var depthB = 0;\n  for (var tempB = instB; tempB; tempB = tempB._hostParent) {\n    depthB++;\n  }\n\n  // If A is deeper, crawl up.\n  while (depthA - depthB > 0) {\n    instA = instA._hostParent;\n    depthA--;\n  }\n\n  // If B is deeper, crawl up.\n  while (depthB - depthA > 0) {\n    instB = instB._hostParent;\n    depthB--;\n  }\n\n  // Walk in lockstep until we find a match.\n  var depth = depthA;\n  while (depth--) {\n    if (instA === instB) {\n      return instA;\n    }\n    instA = instA._hostParent;\n    instB = instB._hostParent;\n  }\n  return null;\n}\n\n/**\n * Return if A is an ancestor of B.\n */\nfunction isAncestor(instA, instB) {\n  !('_hostNode' in instA) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'isAncestor: Invalid argument.') : _prodInvariant('35') : void 0;\n  !('_hostNode' in instB) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'isAncestor: Invalid argument.') : _prodInvariant('35') : void 0;\n\n  while (instB) {\n    if (instB === instA) {\n      return true;\n    }\n    instB = instB._hostParent;\n  }\n  return false;\n}\n\n/**\n * Return the parent instance of the passed-in instance.\n */\nfunction getParentInstance(inst) {\n  !('_hostNode' in inst) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getParentInstance: Invalid argument.') : _prodInvariant('36') : void 0;\n\n  return inst._hostParent;\n}\n\n/**\n * Simulates the traversal of a two-phase, capture/bubble event dispatch.\n */\nfunction traverseTwoPhase(inst, fn, arg) {\n  var path = [];\n  while (inst) {\n    path.push(inst);\n    inst = inst._hostParent;\n  }\n  var i;\n  for (i = path.length; i-- > 0;) {\n    fn(path[i], 'captured', arg);\n  }\n  for (i = 0; i < path.length; i++) {\n    fn(path[i], 'bubbled', arg);\n  }\n}\n\n/**\n * Traverses the ID hierarchy and invokes the supplied `cb` on any IDs that\n * should would receive a `mouseEnter` or `mouseLeave` event.\n *\n * Does not invoke the callback on the nearest common ancestor because nothing\n * \"entered\" or \"left\" that element.\n */\nfunction traverseEnterLeave(from, to, fn, argFrom, argTo) {\n  var common = from && to ? getLowestCommonAncestor(from, to) : null;\n  var pathFrom = [];\n  while (from && from !== common) {\n    pathFrom.push(from);\n    from = from._hostParent;\n  }\n  var pathTo = [];\n  while (to && to !== common) {\n    pathTo.push(to);\n    to = to._hostParent;\n  }\n  var i;\n  for (i = 0; i < pathFrom.length; i++) {\n    fn(pathFrom[i], 'bubbled', argFrom);\n  }\n  for (i = pathTo.length; i-- > 0;) {\n    fn(pathTo[i], 'captured', argTo);\n  }\n}\n\nmodule.exports = {\n  isAncestor: isAncestor,\n  getLowestCommonAncestor: getLowestCommonAncestor,\n  getParentInstance: getParentInstance,\n  traverseTwoPhase: traverseTwoPhase,\n  traverseEnterLeave: traverseEnterLeave\n};"]}