{"version":3,"sources":["node_modules\\react-dom\\lib\\EnterLeaveEventPlugin.js"],"names":["EventPropagators","require","ReactDOMComponentTree","SyntheticMouseEvent","eventTypes","mouseEnter","registrationName","dependencies","mouseLeave","EnterLeaveEventPlugin","extractEvents","topLevelType","targetInst","nativeEvent","nativeEventTarget","relatedTarget","fromElement","win","window","doc","ownerDocument","defaultView","parentWindow","from","to","related","toElement","getClosestInstanceFromNode","fromNode","getNodeFromInstance","toNode","leave","getPooled","type","target","enter","accumulateEnterLeaveDispatches","module","exports"],"mappings":";;;;;;;;;;AAUA;;AAEA,GAAIA,kBAAmBC,QAAQ,oBAAR,CAAvB;AACA,GAAIC,uBAAwBD,QAAQ,yBAAR,CAA5B;AACA,GAAIE,qBAAsBF,QAAQ,uBAAR,CAA1B;;AAEA,GAAIG,YAAa;AACfC,WAAY;AACVC,iBAAkB,cADR;AAEVC,aAAc,CAAC,aAAD,CAAgB,cAAhB,CAFJ,CADG;;AAKfC,WAAY;AACVF,iBAAkB,cADR;AAEVC,aAAc,CAAC,aAAD,CAAgB,cAAhB,CAFJ,CALG,CAAjB;;;;AAWA,GAAIE,uBAAwB;AAC1BL,WAAYA,UADc;;;;;;;;;AAU1BM,cAAe,uBAAUC,YAAV,CAAwBC,UAAxB,CAAoCC,WAApC,CAAiDC,iBAAjD,CAAoE;AACjF,GAAIH,eAAiB,cAAjB,GAAoCE,YAAYE,aAAZ,EAA6BF,YAAYG,WAA7E,CAAJ,CAA+F;AAC7F,MAAO,KAAP;AACD;AACD,GAAIL,eAAiB,aAAjB,EAAkCA,eAAiB,cAAvD,CAAuE;;AAErE,MAAO,KAAP;AACD;;AAED,GAAIM,IAAJ;AACA,GAAIH,kBAAkBI,MAAlB,GAA6BJ,iBAAjC,CAAoD;;AAElDG,IAAMH,iBAAN;AACD,CAHD,IAGO;;AAEL,GAAIK,KAAML,kBAAkBM,aAA5B;AACA,GAAID,GAAJ,CAAS;AACPF,IAAME,IAAIE,WAAJ,EAAmBF,IAAIG,YAA7B;AACD,CAFD,IAEO;AACLL,IAAMC,MAAN;AACD;AACF;;AAED,GAAIK,KAAJ;AACA,GAAIC,GAAJ;AACA,GAAIb,eAAiB,aAArB,CAAoC;AAClCY,KAAOX,UAAP;AACA,GAAIa,SAAUZ,YAAYE,aAAZ,EAA6BF,YAAYa,SAAvD;AACAF,GAAKC,QAAUvB,sBAAsByB,0BAAtB,CAAiDF,OAAjD,CAAV,CAAsE,IAA3E;AACD,CAJD,IAIO;;AAELF,KAAO,IAAP;AACAC,GAAKZ,UAAL;AACD;;AAED,GAAIW,OAASC,EAAb,CAAiB;;AAEf,MAAO,KAAP;AACD;;AAED,GAAII,UAAWL,MAAQ,IAAR,CAAeN,GAAf,CAAqBf,sBAAsB2B,mBAAtB,CAA0CN,IAA1C,CAApC;AACA,GAAIO,QAASN,IAAM,IAAN,CAAaP,GAAb,CAAmBf,sBAAsB2B,mBAAtB,CAA0CL,EAA1C,CAAhC;;AAEA,GAAIO,OAAQ5B,oBAAoB6B,SAApB,CAA8B5B,WAAWI,UAAzC,CAAqDe,IAArD,CAA2DV,WAA3D,CAAwEC,iBAAxE,CAAZ;AACAiB,MAAME,IAAN,CAAa,YAAb;AACAF,MAAMG,MAAN,CAAeN,QAAf;AACAG,MAAMhB,aAAN,CAAsBe,MAAtB;;AAEA,GAAIK,OAAQhC,oBAAoB6B,SAApB,CAA8B5B,WAAWC,UAAzC,CAAqDmB,EAArD,CAAyDX,WAAzD,CAAsEC,iBAAtE,CAAZ;AACAqB,MAAMF,IAAN,CAAa,YAAb;AACAE,MAAMD,MAAN,CAAeJ,MAAf;AACAK,MAAMpB,aAAN,CAAsBa,QAAtB;;AAEA5B,iBAAiBoC,8BAAjB,CAAgDL,KAAhD,CAAuDI,KAAvD,CAA8DZ,IAA9D,CAAoEC,EAApE;;AAEA,MAAO,CAACO,KAAD,CAAQI,KAAR,CAAP;AACD,CAlEyB,CAA5B;;;AAqEAE,OAAOC,OAAP,CAAiB7B,qBAAjB","file":"EnterLeaveEventPlugin.js","sourceRoot":"D:/Work/Office/react-native-on-web/cli/tmpl/project","sourcesContent":["/**\n * Copyright 2013-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 EventPropagators = require('./EventPropagators');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar SyntheticMouseEvent = require('./SyntheticMouseEvent');\n\nvar eventTypes = {\n  mouseEnter: {\n    registrationName: 'onMouseEnter',\n    dependencies: ['topMouseOut', 'topMouseOver']\n  },\n  mouseLeave: {\n    registrationName: 'onMouseLeave',\n    dependencies: ['topMouseOut', 'topMouseOver']\n  }\n};\n\nvar EnterLeaveEventPlugin = {\n  eventTypes: eventTypes,\n\n  /**\n   * For almost every interaction we care about, there will be both a top-level\n   * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that\n   * we do not extract duplicate events. However, moving the mouse into the\n   * browser from outside will not fire a `mouseout` event. In this case, we use\n   * the `mouseover` top-level event.\n   */\n  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n    if (topLevelType === 'topMouseOver' && (nativeEvent.relatedTarget || nativeEvent.fromElement)) {\n      return null;\n    }\n    if (topLevelType !== 'topMouseOut' && topLevelType !== 'topMouseOver') {\n      // Must not be a mouse in or mouse out - ignoring.\n      return null;\n    }\n\n    var win;\n    if (nativeEventTarget.window === nativeEventTarget) {\n      // `nativeEventTarget` is probably a window object.\n      win = nativeEventTarget;\n    } else {\n      // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.\n      var doc = nativeEventTarget.ownerDocument;\n      if (doc) {\n        win = doc.defaultView || doc.parentWindow;\n      } else {\n        win = window;\n      }\n    }\n\n    var from;\n    var to;\n    if (topLevelType === 'topMouseOut') {\n      from = targetInst;\n      var related = nativeEvent.relatedTarget || nativeEvent.toElement;\n      to = related ? ReactDOMComponentTree.getClosestInstanceFromNode(related) : null;\n    } else {\n      // Moving to a node from outside the window.\n      from = null;\n      to = targetInst;\n    }\n\n    if (from === to) {\n      // Nothing pertains to our managed components.\n      return null;\n    }\n\n    var fromNode = from == null ? win : ReactDOMComponentTree.getNodeFromInstance(from);\n    var toNode = to == null ? win : ReactDOMComponentTree.getNodeFromInstance(to);\n\n    var leave = SyntheticMouseEvent.getPooled(eventTypes.mouseLeave, from, nativeEvent, nativeEventTarget);\n    leave.type = 'mouseleave';\n    leave.target = fromNode;\n    leave.relatedTarget = toNode;\n\n    var enter = SyntheticMouseEvent.getPooled(eventTypes.mouseEnter, to, nativeEvent, nativeEventTarget);\n    enter.type = 'mouseenter';\n    enter.target = toNode;\n    enter.relatedTarget = fromNode;\n\n    EventPropagators.accumulateEnterLeaveDispatches(leave, enter, from, to);\n\n    return [leave, enter];\n  }\n};\n\nmodule.exports = EnterLeaveEventPlugin;"]}