{"version":3,"sources":["node_modules\\react-dom\\lib\\ChangeEventPlugin.js"],"names":["EventPluginHub","require","EventPropagators","ExecutionEnvironment","ReactDOMComponentTree","ReactUpdates","SyntheticEvent","inputValueTracking","getEventTarget","isEventSupported","isTextInputElement","eventTypes","change","phasedRegistrationNames","bubbled","captured","dependencies","createAndAccumulateChangeEvent","inst","nativeEvent","target","event","getPooled","type","accumulateTwoPhaseDispatches","activeElement","activeElementInst","shouldUseChangeEvent","elem","nodeName","toLowerCase","doesChangeEventBubble","canUseDOM","document","documentMode","manualDispatchChangeEvent","batchedUpdates","runEventInBatch","enqueueEvents","processEventQueue","startWatchingForChangeEventIE8","targetInst","attachEvent","stopWatchingForChangeEventIE8","detachEvent","getInstIfValueChanged","updated","updateValueIfChanged","simulated","ChangeEventPlugin","_allowSimulatedPassThrough","getTargetInstForChangeEvent","topLevelType","handleEventsForChangeEventIE8","isInputEventSupported","startWatchingForValueChange","handlePropertyChange","stopWatchingForValueChange","propertyName","handleEventsForInputEventPolyfill","getTargetInstForInputEventPolyfill","shouldUseClickEvent","getTargetInstForClickEvent","getTargetInstForInputOrChangeEvent","handleControlledInputBlur","node","state","_wrapperState","controlled","value","getAttribute","setAttribute","_isInputEventSupported","extractEvents","nativeEventTarget","targetNode","getNodeFromInstance","window","getTargetInstFunc","handleEventFunc","module","exports"],"mappings":";;;;;;;;;;AAUA;;AAEA,GAAIA,gBAAiBC,QAAQ,kBAAR,CAArB;AACA,GAAIC,kBAAmBD,QAAQ,oBAAR,CAAvB;AACA,GAAIE,sBAAuBF,QAAQ,+BAAR,CAA3B;AACA,GAAIG,uBAAwBH,QAAQ,yBAAR,CAA5B;AACA,GAAII,cAAeJ,QAAQ,gBAAR,CAAnB;AACA,GAAIK,gBAAiBL,QAAQ,kBAAR,CAArB;;AAEA,GAAIM,oBAAqBN,QAAQ,sBAAR,CAAzB;AACA,GAAIO,gBAAiBP,QAAQ,kBAAR,CAArB;AACA,GAAIQ,kBAAmBR,QAAQ,oBAAR,CAAvB;AACA,GAAIS,oBAAqBT,QAAQ,sBAAR,CAAzB;;AAEA,GAAIU,YAAa;AACfC,OAAQ;AACNC,wBAAyB;AACvBC,QAAS,UADc;AAEvBC,SAAU,iBAFa,CADnB;;AAKNC,aAAc,CAAC,SAAD,CAAY,WAAZ,CAAyB,UAAzB,CAAqC,UAArC,CAAiD,UAAjD,CAA6D,YAA7D,CAA2E,UAA3E,CAAuF,oBAAvF,CALR,CADO,CAAjB;;;;AAUA,QAASC,+BAAT,CAAwCC,IAAxC,CAA8CC,WAA9C,CAA2DC,MAA3D,CAAmE;AACjE,GAAIC,OAAQf,eAAegB,SAAf,CAAyBX,WAAWC,MAApC,CAA4CM,IAA5C,CAAkDC,WAAlD,CAA+DC,MAA/D,CAAZ;AACAC,MAAME,IAAN,CAAa,QAAb;AACArB,iBAAiBsB,4BAAjB,CAA8CH,KAA9C;AACA,MAAOA,MAAP;AACD;;;;AAID,GAAII,eAAgB,IAApB;AACA,GAAIC,mBAAoB,IAAxB;;;;;AAKA,QAASC,qBAAT,CAA8BC,IAA9B,CAAoC;AAClC,GAAIC,UAAWD,KAAKC,QAAL,EAAiBD,KAAKC,QAAL,CAAcC,WAAd,EAAhC;AACA,MAAOD,YAAa,QAAb,EAAyBA,WAAa,OAAb,EAAwBD,KAAKL,IAAL,GAAc,MAAtE;AACD;;AAED,GAAIQ,uBAAwB,KAA5B;AACA,GAAI5B,qBAAqB6B,SAAzB,CAAoC;;AAElCD,sBAAwBtB,iBAAiB,QAAjB,IAA+B,CAACwB,SAASC,YAAV,EAA0BD,SAASC,YAAT,CAAwB,CAAjF,CAAxB;AACD;;AAED,QAASC,0BAAT,CAAmChB,WAAnC,CAAgD;AAC9C,GAAIE,OAAQJ,+BAA+BS,iBAA/B,CAAkDP,WAAlD,CAA+DX,eAAeW,WAAf,CAA/D,CAAZ;;;;;;;;;;;;;AAaAd,aAAa+B,cAAb,CAA4BC,eAA5B,CAA6ChB,KAA7C;AACD;;AAED,QAASgB,gBAAT,CAAyBhB,KAAzB,CAAgC;AAC9BrB,eAAesC,aAAf,CAA6BjB,KAA7B;AACArB,eAAeuC,iBAAf,CAAiC,KAAjC;AACD;;AAED,QAASC,+BAAT,CAAwCpB,MAAxC,CAAgDqB,UAAhD,CAA4D;AAC1DhB,cAAgBL,MAAhB;AACAM,kBAAoBe,UAApB;AACAhB,cAAciB,WAAd,CAA0B,UAA1B,CAAsCP,yBAAtC;AACD;;AAED,QAASQ,8BAAT,EAAyC;AACvC,GAAI,CAAClB,aAAL,CAAoB;AAClB;AACD;AACDA,cAAcmB,WAAd,CAA0B,UAA1B,CAAsCT,yBAAtC;AACAV,cAAgB,IAAhB;AACAC,kBAAoB,IAApB;AACD;;AAED,QAASmB,sBAAT,CAA+BJ,UAA/B,CAA2CtB,WAA3C,CAAwD;AACtD,GAAI2B,SAAUvC,mBAAmBwC,oBAAnB,CAAwCN,UAAxC,CAAd;AACA,GAAIO,WAAY7B,YAAY6B,SAAZ,GAA0B,IAA1B,EAAkCC,kBAAkBC,0BAApE;;AAEA,GAAIJ,SAAWE,SAAf,CAA0B;AACxB,MAAOP,WAAP;AACD;AACF;;AAED,QAASU,4BAAT,CAAqCC,YAArC,CAAmDX,UAAnD,CAA+D;AAC7D,GAAIW,eAAiB,WAArB,CAAkC;AAChC,MAAOX,WAAP;AACD;AACF;;AAED,QAASY,8BAAT,CAAuCD,YAAvC,CAAqDhC,MAArD,CAA6DqB,UAA7D,CAAyE;AACvE,GAAIW,eAAiB,UAArB,CAAiC;;;AAG/BT;AACAH,+BAA+BpB,MAA/B,CAAuCqB,UAAvC;AACD,CALD,IAKO,IAAIW,eAAiB,SAArB,CAAgC;AACrCT;AACD;AACF;;;;;AAKD,GAAIW,uBAAwB,KAA5B;AACA,GAAInD,qBAAqB6B,SAAzB,CAAoC;;;;AAIlCsB,sBAAwB7C,iBAAiB,OAAjB,IAA8B,EAAE,gBAAkBwB,SAApB,GAAiCA,SAASC,YAAT,CAAwB,CAAvF,CAAxB;AACD;;;;;;;AAOD,QAASqB,4BAAT,CAAqCnC,MAArC,CAA6CqB,UAA7C,CAAyD;AACvDhB,cAAgBL,MAAhB;AACAM,kBAAoBe,UAApB;AACAhB,cAAciB,WAAd,CAA0B,kBAA1B,CAA8Cc,oBAA9C;AACD;;;;;;AAMD,QAASC,2BAAT,EAAsC;AACpC,GAAI,CAAChC,aAAL,CAAoB;AAClB;AACD;AACDA,cAAcmB,WAAd,CAA0B,kBAA1B,CAA8CY,oBAA9C;;AAEA/B,cAAgB,IAAhB;AACAC,kBAAoB,IAApB;AACD;;;;;;AAMD,QAAS8B,qBAAT,CAA8BrC,WAA9B,CAA2C;AACzC,GAAIA,YAAYuC,YAAZ,GAA6B,OAAjC,CAA0C;AACxC;AACD;AACD,GAAIb,sBAAsBnB,iBAAtB,CAAyCP,WAAzC,CAAJ,CAA2D;AACzDgB,0BAA0BhB,WAA1B;AACD;AACF;;AAED,QAASwC,kCAAT,CAA2CP,YAA3C,CAAyDhC,MAAzD,CAAiEqB,UAAjE,CAA6E;AAC3E,GAAIW,eAAiB,UAArB,CAAiC;;;;;;;;;;;;;;AAc/BK;AACAF,4BAA4BnC,MAA5B,CAAoCqB,UAApC;AACD,CAhBD,IAgBO,IAAIW,eAAiB,SAArB,CAAgC;AACrCK;AACD;AACF;;;AAGD,QAASG,mCAAT,CAA4CR,YAA5C,CAA0DX,UAA1D,CAAsEtB,WAAtE,CAAmF;AACjF,GAAIiC,eAAiB,oBAAjB,EAAyCA,eAAiB,UAA1D,EAAwEA,eAAiB,YAA7F,CAA2G;;;;;;;;;;;AAWzG,MAAOP,uBAAsBnB,iBAAtB,CAAyCP,WAAzC,CAAP;AACD;AACF;;;;;AAKD,QAAS0C,oBAAT,CAA6BjC,IAA7B,CAAmC;;;;AAIjC,GAAIC,UAAWD,KAAKC,QAApB;AACA,MAAOA,WAAYA,SAASC,WAAT,KAA2B,OAAvC,GAAmDF,KAAKL,IAAL,GAAc,UAAd,EAA4BK,KAAKL,IAAL,GAAc,OAA7F,CAAP;AACD;;AAED,QAASuC,2BAAT,CAAoCV,YAApC,CAAkDX,UAAlD,CAA8DtB,WAA9D,CAA2E;AACzE,GAAIiC,eAAiB,UAArB,CAAiC;AAC/B,MAAOP,uBAAsBJ,UAAtB,CAAkCtB,WAAlC,CAAP;AACD;AACF;;AAED,QAAS4C,mCAAT,CAA4CX,YAA5C,CAA0DX,UAA1D,CAAsEtB,WAAtE,CAAmF;AACjF,GAAIiC,eAAiB,UAAjB,EAA+BA,eAAiB,WAApD,CAAiE;AAC/D,MAAOP,uBAAsBJ,UAAtB,CAAkCtB,WAAlC,CAAP;AACD;AACF;;AAED,QAAS6C,0BAAT,CAAmC9C,IAAnC,CAAyC+C,IAAzC,CAA+C;;AAE7C,GAAI/C,MAAQ,IAAZ,CAAkB;AAChB;AACD;;;AAGD,GAAIgD,OAAQhD,KAAKiD,aAAL,EAAsBF,KAAKE,aAAvC;;AAEA,GAAI,CAACD,KAAD,EAAU,CAACA,MAAME,UAAjB,EAA+BH,KAAK1C,IAAL,GAAc,QAAjD,CAA2D;AACzD;AACD;;;AAGD,GAAI8C,OAAQ,GAAKJ,KAAKI,KAAtB;AACA,GAAIJ,KAAKK,YAAL,CAAkB,OAAlB,IAA+BD,KAAnC,CAA0C;AACxCJ,KAAKM,YAAL,CAAkB,OAAlB,CAA2BF,KAA3B;AACD;AACF;;;;;;;;;;;;AAYD,GAAIpB,mBAAoB;AACtBtC,WAAYA,UADU;;AAGtBuC,2BAA4B,IAHN;AAItBsB,uBAAwBlB,qBAJF;;AAMtBmB,cAAe,uBAAUrB,YAAV,CAAwBX,UAAxB,CAAoCtB,WAApC,CAAiDuD,iBAAjD,CAAoE;AACjF,GAAIC,YAAalC,WAAarC,sBAAsBwE,mBAAtB,CAA0CnC,UAA1C,CAAb,CAAqEoC,MAAtF;;AAEA,GAAIC,kBAAJ,CAAuBC,eAAvB;AACA,GAAIpD,qBAAqBgD,UAArB,CAAJ,CAAsC;AACpC,GAAI5C,qBAAJ,CAA2B;AACzB+C,kBAAoB3B,2BAApB;AACD,CAFD,IAEO;AACL4B,gBAAkB1B,6BAAlB;AACD;AACF,CAND,IAMO,IAAI3C,mBAAmBiE,UAAnB,CAAJ,CAAoC;AACzC,GAAIrB,qBAAJ,CAA2B;AACzBwB,kBAAoBf,kCAApB;AACD,CAFD,IAEO;AACLe,kBAAoBlB,kCAApB;AACAmB,gBAAkBpB,iCAAlB;AACD;AACF,CAPM,IAOA,IAAIE,oBAAoBc,UAApB,CAAJ,CAAqC;AAC1CG,kBAAoBhB,0BAApB;AACD;;AAED,GAAIgB,iBAAJ,CAAuB;AACrB,GAAI5D,MAAO4D,kBAAkB1B,YAAlB,CAAgCX,UAAhC,CAA4CtB,WAA5C,CAAX;AACA,GAAID,IAAJ,CAAU;AACR,GAAIG,OAAQJ,+BAA+BC,IAA/B,CAAqCC,WAArC,CAAkDuD,iBAAlD,CAAZ;AACA,MAAOrD,MAAP;AACD;AACF;;AAED,GAAI0D,eAAJ,CAAqB;AACnBA,gBAAgB3B,YAAhB,CAA8BuB,UAA9B,CAA0ClC,UAA1C;AACD;;;AAGD,GAAIW,eAAiB,SAArB,CAAgC;AAC9BY,0BAA0BvB,UAA1B,CAAsCkC,UAAtC;AACD;AACF,CA3CqB,CAAxB;;;AA8CAK,OAAOC,OAAP,CAAiBhC,iBAAjB","file":"ChangeEventPlugin.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 EventPluginHub = require('./EventPluginHub');\nvar EventPropagators = require('./EventPropagators');\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactUpdates = require('./ReactUpdates');\nvar SyntheticEvent = require('./SyntheticEvent');\n\nvar inputValueTracking = require('./inputValueTracking');\nvar getEventTarget = require('./getEventTarget');\nvar isEventSupported = require('./isEventSupported');\nvar isTextInputElement = require('./isTextInputElement');\n\nvar eventTypes = {\n  change: {\n    phasedRegistrationNames: {\n      bubbled: 'onChange',\n      captured: 'onChangeCapture'\n    },\n    dependencies: ['topBlur', 'topChange', 'topClick', 'topFocus', 'topInput', 'topKeyDown', 'topKeyUp', 'topSelectionChange']\n  }\n};\n\nfunction createAndAccumulateChangeEvent(inst, nativeEvent, target) {\n  var event = SyntheticEvent.getPooled(eventTypes.change, inst, nativeEvent, target);\n  event.type = 'change';\n  EventPropagators.accumulateTwoPhaseDispatches(event);\n  return event;\n}\n/**\n * For IE shims\n */\nvar activeElement = null;\nvar activeElementInst = null;\n\n/**\n * SECTION: handle `change` event\n */\nfunction shouldUseChangeEvent(elem) {\n  var nodeName = elem.nodeName && elem.nodeName.toLowerCase();\n  return nodeName === 'select' || nodeName === 'input' && elem.type === 'file';\n}\n\nvar doesChangeEventBubble = false;\nif (ExecutionEnvironment.canUseDOM) {\n  // See `handleChange` comment below\n  doesChangeEventBubble = isEventSupported('change') && (!document.documentMode || document.documentMode > 8);\n}\n\nfunction manualDispatchChangeEvent(nativeEvent) {\n  var event = createAndAccumulateChangeEvent(activeElementInst, nativeEvent, getEventTarget(nativeEvent));\n\n  // If change and propertychange bubbled, we'd just bind to it like all the\n  // other events and have it go through ReactBrowserEventEmitter. Since it\n  // doesn't, we manually listen for the events and so we have to enqueue and\n  // process the abstract event manually.\n  //\n  // Batching is necessary here in order to ensure that all event handlers run\n  // before the next rerender (including event handlers attached to ancestor\n  // elements instead of directly on the input). Without this, controlled\n  // components don't work properly in conjunction with event bubbling because\n  // the component is rerendered and the value reverted before all the event\n  // handlers can run. See https://github.com/facebook/react/issues/708.\n  ReactUpdates.batchedUpdates(runEventInBatch, event);\n}\n\nfunction runEventInBatch(event) {\n  EventPluginHub.enqueueEvents(event);\n  EventPluginHub.processEventQueue(false);\n}\n\nfunction startWatchingForChangeEventIE8(target, targetInst) {\n  activeElement = target;\n  activeElementInst = targetInst;\n  activeElement.attachEvent('onchange', manualDispatchChangeEvent);\n}\n\nfunction stopWatchingForChangeEventIE8() {\n  if (!activeElement) {\n    return;\n  }\n  activeElement.detachEvent('onchange', manualDispatchChangeEvent);\n  activeElement = null;\n  activeElementInst = null;\n}\n\nfunction getInstIfValueChanged(targetInst, nativeEvent) {\n  var updated = inputValueTracking.updateValueIfChanged(targetInst);\n  var simulated = nativeEvent.simulated === true && ChangeEventPlugin._allowSimulatedPassThrough;\n\n  if (updated || simulated) {\n    return targetInst;\n  }\n}\n\nfunction getTargetInstForChangeEvent(topLevelType, targetInst) {\n  if (topLevelType === 'topChange') {\n    return targetInst;\n  }\n}\n\nfunction handleEventsForChangeEventIE8(topLevelType, target, targetInst) {\n  if (topLevelType === 'topFocus') {\n    // stopWatching() should be a noop here but we call it just in case we\n    // missed a blur event somehow.\n    stopWatchingForChangeEventIE8();\n    startWatchingForChangeEventIE8(target, targetInst);\n  } else if (topLevelType === 'topBlur') {\n    stopWatchingForChangeEventIE8();\n  }\n}\n\n/**\n * SECTION: handle `input` event\n */\nvar isInputEventSupported = false;\nif (ExecutionEnvironment.canUseDOM) {\n  // IE9 claims to support the input event but fails to trigger it when\n  // deleting text, so we ignore its input events.\n\n  isInputEventSupported = isEventSupported('input') && (!('documentMode' in document) || document.documentMode > 9);\n}\n\n/**\n * (For IE <=9) Starts tracking propertychange events on the passed-in element\n * and override the value property so that we can distinguish user events from\n * value changes in JS.\n */\nfunction startWatchingForValueChange(target, targetInst) {\n  activeElement = target;\n  activeElementInst = targetInst;\n  activeElement.attachEvent('onpropertychange', handlePropertyChange);\n}\n\n/**\n * (For IE <=9) Removes the event listeners from the currently-tracked element,\n * if any exists.\n */\nfunction stopWatchingForValueChange() {\n  if (!activeElement) {\n    return;\n  }\n  activeElement.detachEvent('onpropertychange', handlePropertyChange);\n\n  activeElement = null;\n  activeElementInst = null;\n}\n\n/**\n * (For IE <=9) Handles a propertychange event, sending a `change` event if\n * the value of the active element has changed.\n */\nfunction handlePropertyChange(nativeEvent) {\n  if (nativeEvent.propertyName !== 'value') {\n    return;\n  }\n  if (getInstIfValueChanged(activeElementInst, nativeEvent)) {\n    manualDispatchChangeEvent(nativeEvent);\n  }\n}\n\nfunction handleEventsForInputEventPolyfill(topLevelType, target, targetInst) {\n  if (topLevelType === 'topFocus') {\n    // In IE8, we can capture almost all .value changes by adding a\n    // propertychange handler and looking for events with propertyName\n    // equal to 'value'\n    // In IE9, propertychange fires for most input events but is buggy and\n    // doesn't fire when text is deleted, but conveniently, selectionchange\n    // appears to fire in all of the remaining cases so we catch those and\n    // forward the event if the value has changed\n    // In either case, we don't want to call the event handler if the value\n    // is changed from JS so we redefine a setter for `.value` that updates\n    // our activeElementValue variable, allowing us to ignore those changes\n    //\n    // stopWatching() should be a noop here but we call it just in case we\n    // missed a blur event somehow.\n    stopWatchingForValueChange();\n    startWatchingForValueChange(target, targetInst);\n  } else if (topLevelType === 'topBlur') {\n    stopWatchingForValueChange();\n  }\n}\n\n// For IE8 and IE9.\nfunction getTargetInstForInputEventPolyfill(topLevelType, targetInst, nativeEvent) {\n  if (topLevelType === 'topSelectionChange' || topLevelType === 'topKeyUp' || topLevelType === 'topKeyDown') {\n    // On the selectionchange event, the target is just document which isn't\n    // helpful for us so just check activeElement instead.\n    //\n    // 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire\n    // propertychange on the first input event after setting `value` from a\n    // script and fires only keydown, keypress, keyup. Catching keyup usually\n    // gets it and catching keydown lets us fire an event for the first\n    // keystroke if user does a key repeat (it'll be a little delayed: right\n    // before the second keystroke). Other input methods (e.g., paste) seem to\n    // fire selectionchange normally.\n    return getInstIfValueChanged(activeElementInst, nativeEvent);\n  }\n}\n\n/**\n * SECTION: handle `click` event\n */\nfunction shouldUseClickEvent(elem) {\n  // Use the `click` event to detect changes to checkbox and radio inputs.\n  // This approach works across all browsers, whereas `change` does not fire\n  // until `blur` in IE8.\n  var nodeName = elem.nodeName;\n  return nodeName && nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio');\n}\n\nfunction getTargetInstForClickEvent(topLevelType, targetInst, nativeEvent) {\n  if (topLevelType === 'topClick') {\n    return getInstIfValueChanged(targetInst, nativeEvent);\n  }\n}\n\nfunction getTargetInstForInputOrChangeEvent(topLevelType, targetInst, nativeEvent) {\n  if (topLevelType === 'topInput' || topLevelType === 'topChange') {\n    return getInstIfValueChanged(targetInst, nativeEvent);\n  }\n}\n\nfunction handleControlledInputBlur(inst, node) {\n  // TODO: In IE, inst is occasionally null. Why?\n  if (inst == null) {\n    return;\n  }\n\n  // Fiber and ReactDOM keep wrapper state in separate places\n  var state = inst._wrapperState || node._wrapperState;\n\n  if (!state || !state.controlled || node.type !== 'number') {\n    return;\n  }\n\n  // If controlled, assign the value attribute to the current value on blur\n  var value = '' + node.value;\n  if (node.getAttribute('value') !== value) {\n    node.setAttribute('value', value);\n  }\n}\n\n/**\n * This plugin creates an `onChange` event that normalizes change events\n * across form elements. This event fires at a time when it's possible to\n * change the element's value without seeing a flicker.\n *\n * Supported elements are:\n * - input (see `isTextInputElement`)\n * - textarea\n * - select\n */\nvar ChangeEventPlugin = {\n  eventTypes: eventTypes,\n\n  _allowSimulatedPassThrough: true,\n  _isInputEventSupported: isInputEventSupported,\n\n  extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n    var targetNode = targetInst ? ReactDOMComponentTree.getNodeFromInstance(targetInst) : window;\n\n    var getTargetInstFunc, handleEventFunc;\n    if (shouldUseChangeEvent(targetNode)) {\n      if (doesChangeEventBubble) {\n        getTargetInstFunc = getTargetInstForChangeEvent;\n      } else {\n        handleEventFunc = handleEventsForChangeEventIE8;\n      }\n    } else if (isTextInputElement(targetNode)) {\n      if (isInputEventSupported) {\n        getTargetInstFunc = getTargetInstForInputOrChangeEvent;\n      } else {\n        getTargetInstFunc = getTargetInstForInputEventPolyfill;\n        handleEventFunc = handleEventsForInputEventPolyfill;\n      }\n    } else if (shouldUseClickEvent(targetNode)) {\n      getTargetInstFunc = getTargetInstForClickEvent;\n    }\n\n    if (getTargetInstFunc) {\n      var inst = getTargetInstFunc(topLevelType, targetInst, nativeEvent);\n      if (inst) {\n        var event = createAndAccumulateChangeEvent(inst, nativeEvent, nativeEventTarget);\n        return event;\n      }\n    }\n\n    if (handleEventFunc) {\n      handleEventFunc(topLevelType, targetNode, targetInst);\n    }\n\n    // When blurring, set the value attribute for number inputs\n    if (topLevelType === 'topBlur') {\n      handleControlledInputBlur(targetInst, targetNode);\n    }\n  }\n};\n\nmodule.exports = ChangeEventPlugin;"]}