{"version":3,"sources":["node_modules\\react-dom\\lib\\SimpleEventPlugin.js"],"names":["_prodInvariant","require","EventListener","EventPropagators","ReactDOMComponentTree","SyntheticAnimationEvent","SyntheticClipboardEvent","SyntheticEvent","SyntheticFocusEvent","SyntheticKeyboardEvent","SyntheticMouseEvent","SyntheticDragEvent","SyntheticTouchEvent","SyntheticTransitionEvent","SyntheticUIEvent","SyntheticWheelEvent","emptyFunction","getEventCharCode","invariant","eventTypes","topLevelEventsToDispatchConfig","forEach","event","capitalizedEvent","toUpperCase","slice","onEvent","topEvent","type","phasedRegistrationNames","bubbled","captured","dependencies","onClickListeners","getDictionaryKey","inst","_rootNodeID","isInteractive","tag","SimpleEventPlugin","extractEvents","topLevelType","targetInst","nativeEvent","nativeEventTarget","dispatchConfig","EventConstructor","button","process","env","NODE_ENV","getPooled","accumulateTwoPhaseDispatches","didPutListener","registrationName","listener","_tag","key","node","getNodeFromInstance","listen","willDeleteListener","remove","module","exports"],"mappings":"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","file":"SimpleEventPlugin.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\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar EventListener = require('fbjs/lib/EventListener');\nvar EventPropagators = require('./EventPropagators');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar SyntheticAnimationEvent = require('./SyntheticAnimationEvent');\nvar SyntheticClipboardEvent = require('./SyntheticClipboardEvent');\nvar SyntheticEvent = require('./SyntheticEvent');\nvar SyntheticFocusEvent = require('./SyntheticFocusEvent');\nvar SyntheticKeyboardEvent = require('./SyntheticKeyboardEvent');\nvar SyntheticMouseEvent = require('./SyntheticMouseEvent');\nvar SyntheticDragEvent = require('./SyntheticDragEvent');\nvar SyntheticTouchEvent = require('./SyntheticTouchEvent');\nvar SyntheticTransitionEvent = require('./SyntheticTransitionEvent');\nvar SyntheticUIEvent = require('./SyntheticUIEvent');\nvar SyntheticWheelEvent = require('./SyntheticWheelEvent');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar getEventCharCode = require('./getEventCharCode');\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Turns\n * ['abort', ...]\n * into\n * eventTypes = {\n *   'abort': {\n *     phasedRegistrationNames: {\n *       bubbled: 'onAbort',\n *       captured: 'onAbortCapture',\n *     },\n *     dependencies: ['topAbort'],\n *   },\n *   ...\n * };\n * topLevelEventsToDispatchConfig = {\n *   'topAbort': { sameConfig }\n * };\n */\nvar eventTypes = {};\nvar topLevelEventsToDispatchConfig = {};\n['abort', 'animationEnd', 'animationIteration', 'animationStart', 'blur', 'canPlay', 'canPlayThrough', 'click', 'contextMenu', 'copy', 'cut', 'doubleClick', 'drag', 'dragEnd', 'dragEnter', 'dragExit', 'dragLeave', 'dragOver', 'dragStart', 'drop', 'durationChange', 'emptied', 'encrypted', 'ended', 'error', 'focus', 'input', 'invalid', 'keyDown', 'keyPress', 'keyUp', 'load', 'loadedData', 'loadedMetadata', 'loadStart', 'mouseDown', 'mouseMove', 'mouseOut', 'mouseOver', 'mouseUp', 'paste', 'pause', 'play', 'playing', 'progress', 'rateChange', 'reset', 'scroll', 'seeked', 'seeking', 'stalled', 'submit', 'suspend', 'timeUpdate', 'touchCancel', 'touchEnd', 'touchMove', 'touchStart', 'transitionEnd', 'volumeChange', 'waiting', 'wheel'].forEach(function (event) {\n  var capitalizedEvent = event[0].toUpperCase() + event.slice(1);\n  var onEvent = 'on' + capitalizedEvent;\n  var topEvent = 'top' + capitalizedEvent;\n\n  var type = {\n    phasedRegistrationNames: {\n      bubbled: onEvent,\n      captured: onEvent + 'Capture'\n    },\n    dependencies: [topEvent]\n  };\n  eventTypes[event] = type;\n  topLevelEventsToDispatchConfig[topEvent] = type;\n});\n\nvar onClickListeners = {};\n\nfunction getDictionaryKey(inst) {\n  // Prevents V8 performance issue:\n  // https://github.com/facebook/react/pull/7232\n  return '.' + inst._rootNodeID;\n}\n\nfunction isInteractive(tag) {\n  return tag === 'button' || tag === 'input' || tag === 'select' || tag === 'textarea';\n}\n\nvar SimpleEventPlugin = {\n  eventTypes: eventTypes,\n\n  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n    var dispatchConfig = topLevelEventsToDispatchConfig[topLevelType];\n    if (!dispatchConfig) {\n      return null;\n    }\n    var EventConstructor;\n    switch (topLevelType) {\n      case 'topAbort':\n      case 'topCanPlay':\n      case 'topCanPlayThrough':\n      case 'topDurationChange':\n      case 'topEmptied':\n      case 'topEncrypted':\n      case 'topEnded':\n      case 'topError':\n      case 'topInput':\n      case 'topInvalid':\n      case 'topLoad':\n      case 'topLoadedData':\n      case 'topLoadedMetadata':\n      case 'topLoadStart':\n      case 'topPause':\n      case 'topPlay':\n      case 'topPlaying':\n      case 'topProgress':\n      case 'topRateChange':\n      case 'topReset':\n      case 'topSeeked':\n      case 'topSeeking':\n      case 'topStalled':\n      case 'topSubmit':\n      case 'topSuspend':\n      case 'topTimeUpdate':\n      case 'topVolumeChange':\n      case 'topWaiting':\n        // HTML Events\n        // @see http://www.w3.org/TR/html5/index.html#events-0\n        EventConstructor = SyntheticEvent;\n        break;\n      case 'topKeyPress':\n        // Firefox creates a keypress event for function keys too. This removes\n        // the unwanted keypress events. Enter is however both printable and\n        // non-printable. One would expect Tab to be as well (but it isn't).\n        if (getEventCharCode(nativeEvent) === 0) {\n          return null;\n        }\n      /* falls through */\n      case 'topKeyDown':\n      case 'topKeyUp':\n        EventConstructor = SyntheticKeyboardEvent;\n        break;\n      case 'topBlur':\n      case 'topFocus':\n        EventConstructor = SyntheticFocusEvent;\n        break;\n      case 'topClick':\n        // Firefox creates a click event on right mouse clicks. This removes the\n        // unwanted click events.\n        if (nativeEvent.button === 2) {\n          return null;\n        }\n      /* falls through */\n      case 'topDoubleClick':\n      case 'topMouseDown':\n      case 'topMouseMove':\n      case 'topMouseUp':\n      // TODO: Disabled elements should not respond to mouse events\n      /* falls through */\n      case 'topMouseOut':\n      case 'topMouseOver':\n      case 'topContextMenu':\n        EventConstructor = SyntheticMouseEvent;\n        break;\n      case 'topDrag':\n      case 'topDragEnd':\n      case 'topDragEnter':\n      case 'topDragExit':\n      case 'topDragLeave':\n      case 'topDragOver':\n      case 'topDragStart':\n      case 'topDrop':\n        EventConstructor = SyntheticDragEvent;\n        break;\n      case 'topTouchCancel':\n      case 'topTouchEnd':\n      case 'topTouchMove':\n      case 'topTouchStart':\n        EventConstructor = SyntheticTouchEvent;\n        break;\n      case 'topAnimationEnd':\n      case 'topAnimationIteration':\n      case 'topAnimationStart':\n        EventConstructor = SyntheticAnimationEvent;\n        break;\n      case 'topTransitionEnd':\n        EventConstructor = SyntheticTransitionEvent;\n        break;\n      case 'topScroll':\n        EventConstructor = SyntheticUIEvent;\n        break;\n      case 'topWheel':\n        EventConstructor = SyntheticWheelEvent;\n        break;\n      case 'topCopy':\n      case 'topCut':\n      case 'topPaste':\n        EventConstructor = SyntheticClipboardEvent;\n        break;\n    }\n    !EventConstructor ? process.env.NODE_ENV !== 'production' ? invariant(false, 'SimpleEventPlugin: Unhandled event type, `%s`.', topLevelType) : _prodInvariant('86', topLevelType) : void 0;\n    var event = EventConstructor.getPooled(dispatchConfig, targetInst, nativeEvent, nativeEventTarget);\n    EventPropagators.accumulateTwoPhaseDispatches(event);\n    return event;\n  },\n\n  didPutListener: function (inst, registrationName, listener) {\n    // Mobile Safari does not fire properly bubble click events on\n    // non-interactive elements, which means delegated click listeners do not\n    // fire. The workaround for this bug involves attaching an empty click\n    // listener on the target node.\n    // http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html\n    if (registrationName === 'onClick' && !isInteractive(inst._tag)) {\n      var key = getDictionaryKey(inst);\n      var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n      if (!onClickListeners[key]) {\n        onClickListeners[key] = EventListener.listen(node, 'click', emptyFunction);\n      }\n    }\n  },\n\n  willDeleteListener: function (inst, registrationName) {\n    if (registrationName === 'onClick' && !isInteractive(inst._tag)) {\n      var key = getDictionaryKey(inst);\n      onClickListeners[key].remove();\n      delete onClickListeners[key];\n    }\n  }\n};\n\nmodule.exports = SimpleEventPlugin;"]}