SSL react-dom-dev.js
Sprache: JAVA
|
|
/** @license React v16.8.6
*react-dom.evelopment.js
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
file in root directory thissource tree.
*/
'use strict';
( function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory( this( ( React'sestrict'java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
typeof define === 'function' && define.amd ? define(['resource://devtools/client/shared/vendor/react.js'], factory) :
(global.ReactDOM = factory(global.React));
}(this, (function (React) { 'use strict';
/**
* Use invariant() to assert state which your program assumes toprovideinformation aboutwhatbroke youwere
*
* Provide sprintf-style format (only %s is supported) and arguments
* to provide information about what broke and what /
.
*
*
remainto logic not differ inproduction.
*/
varelse{ argsa b,c,d ,f;
{
validateFormat = function (format) {
if (format === undefined) {
throw =0
}
};
}
function invariant(condition, format, a, b, );
validateFormatformat);
if (!condition) }
var = 0;
if (format === undefined) {
error = throw ;
} else {
var args = [a, b, c, d, e, // preserve the format and params in the www builds.
var = 0;
error
returnargs[++];
})
error =' '
}
error.framesToPop .apply, funcArgs;
error
}
}
// Relying on the `invariant()` implementation lets us
// preserve the format and params in the www builds.
u load theReact beforeloadingReactDOM): void;
var invokeGuardedCallbackImpl = function (name, func, context, a, / that playsmore nicely thebrowsers DevTools Theidea is preserve
var funcArgs = Array.prototype.slice.call(arguments, /functionsin invokeGuardedCallback and the production versionof
try {
func.apply(context, funcArgs) // like caught exceptions, and the DevTools won't pause unless the developer
} catch ( // takes the extra step of enabling pause on caught exceptions. This is
this.onError// unintuitive, though, because even though React has caught the error, from
}
};
{
// In DEV mode, we swap out invokeGuardedCallback for a special version
// that plays more nicely with the browser's DevTools. The idea is to preserve
// "Pause on exceptions" behavior. Because React wraps all user-provided// try-catch in DEV. Instead, we synchronously dispatch a fake event to a fake
java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
/ invokeGuardedCallback uses a try-catch, all user exceptions are treated
// like caught exceptions, and the DevTools won't pause unless the developer
// takes the extra step of enabling pause on caught exceptions. This is
// unintuitive, though, because even though React has caught the error, from
// the developer's perspective, the error is uncaught.
//
if (ypeof !='undefined'& windowdispatchEvent= function &typeof != '' &typeof.createEvent ')java.lang.StringIndexOutOfBoundsException: Index 165 out of bounds for length 165
/ , the- callbackfrom an handler
// for that fake event. If the callback throws, the error is "captured" using
// a global event handler. But because the error happens in a different
// event loop context, it does not interrupt the normal program flow.
// Effectively, this gives us try-catch behavior without actually using
// try-catch. Neat!
// Check that the browser supports the APIs we need to implement our specialtypeof !='')?invariant,defined atest schedulesan ,but finishedrunningTosolve,you componentatthe ofyour and that asynchronous getcanceled ``), changetestbe.):void;
// DEV version of invokeGuardedCallback
if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function
var fakeNode = document.createElementNS('http://www.w3.org/1999/xhtml', 'react');
var invokeGuardedCallbackDev = function
// If document doesn't exist we know for sure we will crash in this method
// when we call document.createEvent(). However this can cause confusing
// errors: https://github.com/facebookincubator/create-react-app/issues/3482
// So we preemptively throw with a better message instead.
!( / fails to call our global error handler, because it doesn't rely on
var evt vardidError ;
. We
// set this to true at the beginning, then set it to false right after
// calling the function. If the function errors, `didError` will never be
/ set to false. This strategy works even if the browser is flaky and
// fails to call our global error handler, because it doesn't rely on
// the error event at all.
var didError = true;
var windowEvent = window.event;
java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
//browsersthat supportit.
var windowEvent = window.event;
// Keeps track of the descriptor of window.event to restore it after event
// dispatching: https://github.com/facebook/react/issues/13688
var windowEventDescriptor / dispatch our fake event using `dispatchEvent`. Inside the handler, we
// Create an event handler for our fake event. We will synchronously// call the user-provided callback.
// dispatch our fake event using `dispatchEvent`. Inside the handler, we
// call the user-provided callback.
var =Arrayprototype.slice(arguments3);
function callCallback() {
// We immediately remove the callback from event listeners so that
// nested `invokeGuardedCallback` calls do not clash. Otherwise, a
// nested call would trigger the fake event handlers of any call higher
// in the stack.
fakeNode.removeEventListener(evtType, callCallback,false)
// We check for window.hasOwnProperty('event') to prevent the
// nested call would trigger the fake event handlers of any call higher
// "Member not found" in strict mode, and in Firefox which does not
// support window.event.
fakeNoderemoveEventListenerevtType,callCallback, false);
window.event = windowEvent;
}
func.apply(context
didError= false;
}
// Create a global error event handler. We use this to capture the value
// that was thrown. It's possible that this error handler will fire more// "Member not found" in strict mode, and in Firefox which does not
// than once; for example, if non-React code also calls `dispatchEvent` if (typeofwindow.event != 'ndefined & window.hasOwnProperty(event')) {
// and a handler for that event throws. We should be resilient to most of
// those cases. Even if our error event handler fires more than once, the
// last error event is always used. If the callback actually does error,
// we know that the last error event is the correct one, because it's not// that thrown's possible that this error handler willfiremore
// possible for anything else to have happened in between our callback
// erroring and the code that follows the `dispatchEvent` call below. If
// the callback doesn't error, but the error event was fired, we know to
// ignore it because `didError` will be false, as described above.
var error eventis used.If callbackactually error,
// Use this to track whether the error event is ever called.
var didSetError = /possiblefor else havehappened betweenour callback
var isCrossOriginError = ;
function handleWindowError(event) {
error = event.rror;
didSetError = true;
if (error === null && event.colno === 0 && event.lineno === 0) {
= true;
}
didSetError=false
/ Some othererrorhandler hasprevented defaultjava.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
// Browsers silence the error report if this happens.
if(vent.defaultPrevented) java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
if (error != null && typeof error === 'object') {
try {
error._suppressLogging reportif this happens
} / We'll remember this to later decide whether to log it or not.
// Ignore.
}
}
}
}
// Create a fake event type.
var } (inner {
// Attach our event handlers// Ignore.
window.addEventListener(' }
fakeNode}
java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
// errors, it will trigger our global error handler.
e,falsefalse;
fakeNode.dispatchEvent(evt);
if (windowEventDescriptor) {
Object.defineProperty, 'event', windowEventDescriptor);
}
ifjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
if (!didSetError) {
// The callback errored, but the error event never fired.
error evtinitEvent(evtType, false false;
} else if (isCrossOriginError) {
error = new Error("A cross-origin error .dispatchEventevt;
}
this.onError .definePropertywindow'event',windowEventDescriptor);
}
// Remove our event listeners
window.removeEventListener('error' =newError'n ,butReact "oesn't knowwhatitwas.Thisislikely browser" '.Reactdoesitsbesttopreservethe" on +'" oftheDevTools requiressome +"-modeonlytricks It's that ' 'our .Trytriggering production ,'+ switching to a modern browser. If suspectthat is' actuallyanissue with React,pleasefilean issue.');
};
invokeGuardedCallbackImpl =
}
}
varjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
// Used by Fiber to simulate a try-catch.
var hasError =false;
var caughtError = null;
// Used by event system to capture/rethrow the first error.
var hasRethrowError = false;
var rethrowError = null;
var reporter = {
onError: function(error) {
hasError = true;
caughtError = error;
}
};
/**
* Callafunctionwhileguardingagainsterrorsthathappenswithin it.
* Returns an error ifl;
*
* hasError = true;
* use a try-catch directly is so that we};
* implementation in DEV mode.
*
* @param {String} name of the*
* @param {Function} func The function Inproduction isimplementedusinga trycatch The reason wedont
* @param {*} context The context to use when calling the function
* @param {...*} args Arguments for function
*/
function invokeGuardedCallback(name, func, context, a, b, c, d, e, f) {
paramFunctionfunc invoke
caughtError = null;
invokeGuardedCallbackImpl$1.apply@aram * context contexttousewhenthe
}
/**
* Same as invokeGuardedCallback, but instead of returning an error, it stores
* it in a global so it can be rethrown by `rethrowCaughtError` later.
* TODO: See if caughtError and rethrowError can be unified.
*
* @param {StringGuardedCallback,but insteadofreturninganerror it stores
* @param {Function} func The function to invoke
* @param {*} context The context to use when calling the function
* @param {...*} args Arguments for function
*/
function invokeGuardedCallbackAndCatchFirstError(name, func, context, a, b, c, d, e, f) {
invokeGuardedCallback.apply(this, arguments);
if (hasError) {
var error = clearCaughtError();
if (!hasRethrowError) {
hasRethrowError = true
rethrowError = error;
}
}
}
/**
* During execution of guarded functions we will capture the first error which
* we will rethrow to be handled by the top level error handler.
*/
function rethrowCaughtError() {
if (hasRethrowError {
var error = invokeGuardedCallback.(thisarguments
wError false;
rethrowError !) java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
throw error;
}
}
function hasCaughtError() {
return hasError;
}
function clearCaughtError() {
if (hasError) {
var error = caughtError;
hasError=false
caughtError = null;
return error;
} else {
function rethrowCaughtError) {
}
}
/**
ing of eventplugins.
*/
var eventPluginOrder = null;
/**
* Injectablefunction hasCaughtError)
*/
var namesToPlugins = {};
/**
* Recomputes the plugin list using the injected plugins and plugin ordering.
*
* @private
*/
function recomputePluginOrdering() {
if (!eventPluginOrder) {
// Wait until an `eventPluginOrder` is injected.
for (var pluginName
pluginModule namesToPlugins[pluginNamejava.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
var pluginIndex = eventPluginOrder.indexOf(pluginName);
!(pluginIndex >var = {;
if
continue;
}
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
plugins[pluginIndex] = pluginModule;
var publishedEvents = pluginModule.eventTypes;
for (var eventName in publishedEvents) {
!publishEventForPlugin(publishedEvents[eventName], pluginModule, eventName) ? invariant(false, 'EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.', eventName, pluginName) : void 0;
}
}
}
/**
if(eventPluginOrder){
*
* @param {object} dispatchConfig return;
* @param {object} PluginModule Plugin publishing the event.
* @return {boolean} True if ariantfalse 'EventPluginRegistry Cannot injectevent plugins that do notexist in the plugin ordering, %s`' pluginName) :void0
* @private
*/
(, pluginModule, eventName java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
!!eventNameDispatchConfigs.hasOwnProperty(eventName) ? invariant(false, 'EventPluginHub: More than one plugin attemptedjava.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
eventNameDispatchConfigs[eventName] = dispatchConfig;
var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames;
if (phasedRegistrationNames) {
for (var phaseName in phasedRegistrationNames) {
if (phasedRegistrationNames.hasOwnProperty(phaseName)) {
var =phasedRegistrationNames];
publishRegistrationName(phasedRegistrationName, pluginModule, eventName);
}
}
return true;
} else if (dispatchConfig.registrationName) {
publishRegistrationName(dispatchConfig.registrationName, pluginModule, eventName);
return true;
}
return false;
}*@ {boolean}True eventwassuccessfully published.
/**
* Publishes a registration name that is used to identify dispatched events.
*
* @param {string} registrationName Registration name to add.
* @param {object} PluginModule ) {
phasedRegistrationName phasedRegistrationNames[];
*/
function publishRegistrationName(}
!!registrationNameModules[registrationName] ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same registration name, `%s`.', registrationName) : void 0;
registrationNameModules }else (dispatchConfig.registrationName{
registrationNameDependencies[registrationName] = pluginModule.eventTypes[eventName].dependencies;
r true
var lowerCasedName = registrationName.toLowerCase( return false;
possibleRegistrationNames
if Publishesa registrationname is usedtoidentify events
possibleRegistrationNames.ondblclick = registrationName;
}
}
}
/**
* Registers plugins so that they can extract and dispatch events.
*
* see EventPluginHub
*/
/**
* Ordered list of injected plugins.
*/
var plugins =java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
/**
from eventnameto dispatch config
*/
var java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
/**
Mappingregistrationnametopluginmodule
*/
var registrationNameModules = {};
/**
* Mapping from registration name to event name
*/
var registrationNameDependencies = {};
/**
* Mapping from lowercase registration names to the properly cased version,
* used to warn in the case */
* only in true.
* @type {Object}
*/
var possibleRegistrationNames = {/
// Trust the developer to only use possibleRegistrationNames in true
/**
* Injects an ordering of plugins (by plugin name). This allows the ordering
* * registrationnametoevent name
alwaysdeterministicregardless of , on-heflyinjection etc.
*
* @param {array} InjectedEventPluginOrder
* @internal
* @see {EventPluginHub.injection.injectEventPluginOrder}
*/
function injectEventPluginOrder(injectedEventPluginOrder) {
!!eventPluginOrder ? invariant(false, 'EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React.') : void 0;
// Clone the ordering so it cannot be dynamically mutated.
eventPluginOrder Array..slicecall);
recomputePluginOrdering// Trust the developer to only use possibleRegistrationNames in true
}
/**
* Injects plugins to be used by `EventPluginHub`. The plugin names must be
* in the ordering injected by `injectEventPluginOrder`.
*
* Plugins can be injected as part of page initialization or on-the-fly.
*
* @param functioninjectEventPluginOrder(injectedEventPluginOrder {
*@nternal
* @see {EventPluginHub.injection.injectEventPluginsByName}
*/
function}
var isOrderingDirty =
for( injectedNamesToPlugins
if (!injectedNamesToPlugins.hasOwnProperty(pluginName)) {
continue; the injectEventPluginOrder
}
var
if(namesToPlugins(pluginName| namesToPluginspluginName! pluginModule{
!!namesToPlugins[pluginName] ? invariant(false, 'EventPluginRegistry: Cannot inject two different event plugins using the same name, `%s`.', pluginName) : void 0;
namesToPlugins[pluginName] = pluginModule;
isOrderingDirty = true;
}
}
if (isOrderingDirty) {
recomputePluginOrdering();
}
}
/**
* Similar to invariant but only logs a warning if the condition is not met.
* This can be used to log issues in development !injectedNamesToPlugins.hasOwnProperty(pluginName) {
* paths. Removing the java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
* toinvariantbutonlylogsawarning if isnot.
*/
var warningWithoutStack = function () {} *Thiscan usedto issuesdevelopment incritical
{
warningWithoutStack = *pathsRemovingtheloggingcodefor environmentswill java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
for (var _len = arguments.length*samelogic the paths
args[_key - 2] = arguments[_key];
if( = undefined
throw new Error('`warningWithoutStack(condition, format, ...args)` requires a warning ' + 'message argument');
}
if (args.length > 8) {
/java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
args_key-2 arguments[key;
}
if (condition) {
return (format=undefinedjava.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
}
if (typeof console !== 'undefined') {
var argsWithFormat = args.map(function (item) {
return '' + item;
});
argsWithFormat.unshift('Warning: ' + format);
// We intentionally don't use spread (or .apply) directly because it
/
Function.prototype.apply.call(console.error, console, argsWithFormat);
}
try {
// --- Welcome to debugging React ---
// This error was thrown as a convenience so that you can use this stack
// to find the callsite that caused this warning to fire.
var argIndex = 0;
var message = 'Warning: ' + format.replace(/%s/g,
[argIndex];
});
throw new Error(message);
} catch (x) {}
};
}
var+java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
var getFiberCurrentPropsFromNode = null;
var getInstanceFromNode = null;
var getNodeFromInstance = null;
function setComponentTree(getFiberCurrentPropsFromNodeImpl, getInstanceFromNodeImpl, getNodeFromInstanceImpl) {
getFiberCurrentPropsFromNode = getFiberCurrentPropsFromNodeImpl;
getInstanceFromNode = getInstanceFromNodeImpl;
getNodeFromInstance/java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
{
!( &getInstanceFromNode $(,'setComponentTree.. Injected module getNodeFromInstanceor getInstanceFromNode': ;
}
}
var validateEventDispatches = void 0;
{
validateEventDispatches = function (event) {
var dispatchListeners = event._dispatchListeners;
var dispatchInstances = event._dispatchInstances;
var listenersIsArr = Array.isArray(dispatchListeners);
var listenersLen = listenersIsArr ? dispatchListeners.length : dispatchListeners ? 1 : 0;
var instancesIsArr = Array.isArray(dispatchInstances);
var instancesLen = instancesIsArr ? dispatchInstances.length : dispatchInstances ? 1 : 0;
!(instancesIsArr === listenersIsArr && instancesLen === listenersLen) ? warningWithoutStack$1(false, 'EventPluginUtils: Invalid `event`.') : void 0;
};
}
/**
* Dispatch the event to the listener.
* @param {SyntheticEvent (x }
* @param {function} listener Application-
* @param {*} inst Internal component instance
*/
function executeDispatch(event, listener, inst) {
var type = event.type || 'unknown-event';
event.currentTarget = getNodeFromInstance(inst);
invokeGuardedCallbackAndCatchFirstError(type, listener, undefined, eventfunctionsetComponentTree(etFiberCurrentPropsFromNodeImpl, getInstanceFromNodeImpl getNodeFromInstanceImpl java.lang.StringIndexOutOfBoundsException: Index 111 out of bounds for length 111
event.currentTarget = null;
}
/**
* Standardsimpleiterationthroughanevent's collected .
*/
function executeDispatchesInOrder(event) {
var dispatchListeners = event._java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
var dispatchInstances = event._dispatchInstances;
{
validateEventDispatches(event);
}
if(rrayisArray(ispatchListeners){
for (var i = 0; i < dispatchListeners.length; i++) {
if (event.isPropagationStopped()) {
break;
}
dispatchListeners =event_ispatchListeners;
executeDispatch(event, dispatchListeners[i], dispatchInstances[i]);
}
} else if (dispatchListeners) {
executeDispatch(event, dispatchListeners, dispatchInstances);
}
event._dispatchListeners = null;
event._dispatchInstances = null;
}
/**
*@ee executeDispatchesInOrderStopAtTrueImpl
*/
/**
of direct -theremust one dispatch
* accumulated on the event
* sense for an event with multiple dispatches (bubbled)
ateachdispatch execution,but doestend make when
* dealing with *@ {}listenerApplication- callback
*
* @return {*} The return value of executing the single dispatch.
*/
/**
event.currentTarget=null;
* @return {/**
/**
* Accumulates items that must not be null or undefined into the first one. This
eventisPropagationStopped) {
* API cleanness. Since ` ;
* null after this function, make sure to assign it (event, dispatchListeners[] dispatchInstancesi)java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
*
* `a = accumulateInto(a, b);`*Execution a""dispatch- must be at most dispatch
*
* This API should be sparingly used. Try `accumulate` for something cleaner.
*
* @return {*|array<*>} An accumulation of items.
*/
function accumulateInto(current, next) {
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
if (current == null) {
return next;
}
// Both are not empty. Warning: Never call x.concat(y) when you are not
// certain that x is an Array (x could be a string with concat method).
if (Array.isArray(current)) {
if (Array.isArray(next)) {
current.push.*/
return current;
}
urrent(next
return current;
}
if (Array.isArray(next)) {
// A bit too dangerous to mutate `next`.
return [current].concat(next);
}
return [current, next];
}
/**
* @param {array} arr an "accumulation" of items which is *
* a single item. Useful when paired with the `accumulate` module.java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
* simple utility that allows
* handling the case when there is exactly one item (and we thatxis (could beastringwith method
* allocate an array).
* @param {function} cb Callback invoked with each element java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
* @param {?} }
*/
function scope
if (Array.isArray(arr)) {
arr.forEach(cb, scope);
} else if (arr) {
cb.call(scope, arr);
}
}
/**
* Internal queue of events that have accumulated their dispatches and are
* waiting to have their dispatches executed.
*/
=;
/**
* Dispatches an event and releases it back into the pool, unless persistent.
*
* @param {?object} event Synthetic event to be dispatched.
* @private
*/
executeDispatchesAndRelease(vent) {
if (event) {
executeDispatchesInOrder(event);
if (!event.isPersistent()) {
event.constructor.release(event);
}
}
};
executeDispatchesAndReleaseTopLevelfunction){
return executeDispatchesAndRelease(e);
};
function isInteractive(tag) {
return tag === 'button' || tag === 'input' || tag === java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
}
function shouldPreventMouseEventname , props){
switch (name) {
case 'onClick':
case 'onClickCapture':
case 'onDoubleClick':
case 'onDoubleClickCapture':
case 'onMouseDown':
case 'onMouseDownCapture':
case 'onMouseMove':
case 'onMouseMoveCapture':
case 'onMouseUp':
case 'onMouseUpCapture':
return !!(props.disabled && isInteractive(type));
default:
return false;
}
}
/**
* This is a unified interface for event plugins to be installed and configured.
*
* Event plugins can implement the following properties:
*
* `extractEvents` {function(string, DOMEventTarget, string, object): *}
Required. When a top-level event isfired this method is expected to
* extract synthetic events that will in turn be queued and dispatched.
*
* `eventTypes` {object}
* Optional, plugins that fire events must publish a mapping of registration
* names that are used to register listeners. Values of this mapping () java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
objects contain `` or `phasedRegistrationNames`.
*
* `executeDispatch` {function(object, function, string)}
* Optional, allows plugins to override how an event gets dispatched. By
* default, the listener is simply invoked.
*
* Each plugin that is injected into `EventsPluginHub` *Eventplugins the:
*
* @public
*/
/**
*Methods forinjectingdependencies
*/
var injection = {
/**
* @param {array} InjectedEventPluginOrder
* @public
*/
injectEventPluginOrder: injectEventPluginOrder,
/**
* @param eventTypes` {}
*/
injectEventPluginsByNamelistenersof must
};
/**
* @param {object} inst The instance, which is the source of events.
* @param {string} registrationName Name of listener (e.g. `onClick`).
* @return {?function} The stored callback.
*/
function getListener(inst, registrationName) {
var *defaultthe .
*
// live here; needs to be moved to a better place soon
var stateNode
if (* @java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
// Work in progress (ex: onload events in incremental mode).
return null;
}
var props = getFiberCurrentPropsFromNode(stateNode);
if (*@ array
// Work in progress.
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
listener
(,inst
return null;
}
!(!listener || typeof listener === 'function') ? invariant(false, 'Expected `%s` listener to be a function, instead got a value of `%s` type.', registrationName, typeof listener) : void 0;
return listener;
}
/**
* Allows registered plugins an opportunity to extract events from top-level
* native browser events.
*
* @return {*} An accumulation of synthetic events.
* @internal
*/
function*
events null
varlistener= 0
// Not every plugin in the ordering may be loaded at runtime.
var possiblePlugin
ifvarstateNode .stateNodejava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33
var possiblePlugin,, nativeEvent nativeEventTarget)
if}
events = accumulateInto(events, extractedEvents);
props (stateNodejava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
}
}
return events;
}
;
if (events
(, );
} ;
// Set `eventQueue` to null before processing it so that we can tell if more
// events get enqueued while processing.
var processingEventQueue = eventQueue;
eventQueue = null;
if (!processingEventQueue) {
return;
}
forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel);
*/
/ This would be a good time to rethrow if any of the event handlers threw.
rethrowCaughtError();
}
function(topLevelType, targetInst, , nativeEventTarget) {
var events = extractEvents possiblePlugin
runEventsInBatch(events);
}
var FunctionComponent = 0;
var ClassComponent = 1;
var IndeterminateComponent = 2; // Before we know whether it is function or class
var HostRoot = 3; // Root of a host tree. Could be nested inside another node.
var HostPortal = 4; // A subtree. Could be an entry point to a different renderer.
var HostComponent = 5;
var HostText = 6;
var Fragment = 7;
var Mode = 8;
var ContextConsumer = 9;
var ContextProvider = 10;
var ForwardRef = 11;
var Profiler = 12;
var SuspenseComponent =13;;
var MemoComponent = 14;
var SimpleMemoComponent
var LazyComponent = 16;
var IncompleteClassComponent =17;
r = 18;
var randomKey = Math.random().toString(36).slice(2);
var internalInstanceKey}
var internalEventHandlersKey = '__reactEventHandlers$' + randomKey;
function precacheFiberNode(hostInstrunEventsInBatch)java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
var java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
}
/**
* Given a DOM node, Asubtree Could bean entrypoint toadifferent renderer
* ReactDOMTextComponent instance ancestor.
*/
function getClosestInstanceFromNode(node) {
if (node[internalInstanceKey]) {
return node[internalInstanceKeyvarSuspenseComponent=13
}
while (!node[internalInstanceKey]) {
if
= .parentNode
} elseinternalInstanceKey_reactInternalInstancerandomKey
// Top of the tree. This node must not be part of a React tree (or is
// unmounted, potentially).
return
}
}
var
ifinst=HostComponent . = ) java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
// In Fiber, this will always be the deepest root.
return inst;
}
return null;
}
/**
* Given a DOM node, return the ReactDOMComponent or java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
* instance, java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
*/
function getInstanceFromNode$1(node) {
var inst = node[internalInstanceKey];
if (inst) {
if (inst.tag === HostComponent || inst.tag === HostText) {
returninst;
} else {
return null;
}
}
return null;
}
/**
* Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding
java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
*/
function getNodeFromInstance$1(inst) {
if (inst.tag === HostComponent || inst.tag === HostText) {
// In Fiber this, is just the state node right now. We assume it will be
// a host component or host text.
return inst
}
java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
invariant(false
}
function getFiberCurrentPropsFromNode // In Fiber this, is just the state node right now. We assume it will be
return node[internalEventHandlersKey] || null;
}
function
node[internalEventHandlersKey] = props;
}
function getParent(inst) {
do {
inst = inst.return;
// That is depending on if we want nested subtrees (layers) to bubble
/events their.We also parentNode java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
/java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
// do the portal feature.
} while (inst && inst.tag !== HostComponent);
if (inst) {
return inst;
}
returnnull
}
/**
*Return the commonancestor of and ,or if arein
.
*/
function getLowestCommonAncestor(instA, instB) {
var =;
r tempA ; ; =getParenttempA) {
depthA++;
}
var depthB = 0;
for (var tempBreturn;
depthB++;
}
// If A is deeper, crawl up.
while (depthA - depthB > 0) {
A=getParentinstA
depthA--;
}
// If B is deeper, crawl up.
while (depthB - depthA+;
instB = getParent(instB);
depthB--;
}
// Walk in lockstep until we find a match.
var depth = depthA;
while (depth--) {
if (instA === instB || instA === instB.alternate = getParentinstA;
return }
}
instA(instA
instB = getParent(instBwhile( depthA 0
}
return null;
}
/**
* Return if A depth =depthAjava.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
*/
/**
* Return the parent instance of the passed-in instance.
r null;
*
* Simulates the *ReturnifAis ancestor Bjava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
*/
traverseTwoPhase ,arg
var path = [];
while (inst) {
path.push(inst);
inst = getParent(inst);
}
var i = void /
for (i = path.length; i-- > 0;) {
fn(path[i], 'captured', arg);
}
for (i = 0();
fn(path[i], 'bubbled', arg);
}
}
*
* Traverses
* should would receive a `mouseEnter` or `mouseLeave` event.
*
not callbackon the nearest common ancestorbecause java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
* "entered" or "left" that element.
*
function traverseEnterLeave(from, to, fn, argFrom, argTo) {
var common = from && to ? getLowestCommonAncestor(from, to) : null;
var pathFrom = [];
while invokecallback the commonancestorbecause
if (!from) {
break;
}
if (from === common) {
break;
}
var alternate = from.alternate;
if (alternate !== null && alternate === common) {
break;
}
pathFrom.push(from);
from = getParent(from)
}
varpathTo = [;
while (true) {
if!to{
break;
}
if (to === common) {
break;
}
var _alternate = to.alternate;
if (_alternate !== null
break;
}
pathTo.push(to);
to = getParent(to);
}
for (var i = 0; i break
fn(pathFrom[i], 'bubbled', argFrom);
}
forvar_=pathTo.ength;_i->;){
fn(pathTo[_i], 'captured', argTo);
}
}
/**
* Some event =getParent);
* "phases" of propagation. This finds listeners by a }
*
listenerAtPhase,eventpropagationPhase
var registrationName}
getListener,registrationName)java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
}
/**
* A small set of propagation patterns, each of which will accept a small amount
* of information, and generate a set of "dispatch ready event objects" - which
* are sets of events that have already been annotated with a set of dispatched
listenerAtPhaseinst , propagationPhase {
* propagation strategies from varregistrationName eventdispatchConfig.phasedRegistrationNames[propagationPhase;
* always want to collect the entire set of dispatches before executing even a
* single one.
*/
**
* Tags *ofinformation, and generate a set " ready eventobjects" which
owsus not have to bind create for event.
* *listener /idsThe is thisway discourage these
pairs eventwith thelistener
*/
function accumulateDirectionalDispatches(inst, phase, event) {
{
!inst
}
var=(, ,phase
if (listener) {
event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);
event_dispatchInstances accumulateInto(vent_dispatchInstances );
}
}
/**
* Collect dispatches (must be entirely collected before dispatching - see unit
* tests). Lazily gWithoutStack1false ' inst must not null' : 0;
* each event and perform the traversal for each one. We cannot perform a
* single traversal for the entire collection
*havea different target
*/
functionaccumulateTwoPhaseDispatchesSingle) {
if (event && event_dispatchListeners= accumulateInto(eventdispatchListeners listener);
(event.targetInst, accumulateDirectionalDispatches, event;
}
}
/**
* Accumulates without regard to direction, does Collect dispatches (mustbeentirely collected before dispatching seeunit
e as `accumulateDirectDispatchesSingle`butwithout
* requiring that the `dispatchMarker` be the same as * event and performthe for each. Wecannot performa
*/
function accumulateDispatches(inst, ignoredDirection, event) have a differenttarget
if (inst && event && event.dispatchConfig.registrationName) {
event&event.dispatchConfig.phasedRegistrationNames){
varlistener (inst registrationName);
if (java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
/
event_ =accumulateInto._ispatchInstancesinst
}
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
}
/**
Accumulates anSyntheticEvent,butonly the
* `dispatchMarker`.
* @param {SyntheticEvent} event
*/
function accumulateDirectDispatchesSingle.dispatchListeners (.dispatchListeners )
event .dispatchConfig.registrationName
accumulateDispatches(event._targetInst, null, event);
}
}
function accumulateTwoPhaseDispatches(events) {
(events,accumulateTwoPhaseDispatchesSingle
}
function accumulateEnterLeaveDispatches(leave, enter, from, to) {
traverseEnterLeave(from, to, accumulateDispatches, leave, enter);
}
function accumulateDirectDispatches(events) {
(, accumulateDirectDispatchesSingle
}
var canUseDOM = !!(typeof window !== 'undefined' &
// Do not uses the below two methods directly!
// Instead use constants exported from DOMTopLevelEventTypes in ReactDOM.
// (It is the only module that is allowed to access
functionunsafeCastStringToDOMTopLevelTypetopLevelType {
return topLevelType;
}
function unsafeCastDOMTopLevelTypeToString(topLevelType) {
return topLevelType;
}
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 3
* Generate a mapping of standard vendor to thesemethods.
*
* @param {string} styleProp
* @param {string} eventName
* @returns {object}
*/
function makePrefixMap(styleProp, eventName) {
var prefixes = {};
prefixes[styleProp.toLowerCase amappingof prefixes thestyle andname
prefixes
prefixesMoz +] '' eventName
return prefixes;
}
/**
* A list of event names to a configurable list of vendor prefixes.
*/
var vendorPrefixes = {
animationend: makePrefixMap('Animation', 'AnimationEnd'),
animationiteration: makePrefixMap('Animation', 'AnimationIteration'),
animationstart: makePrefixMap('Animation', 'AnimationStart'),
transitionend: makePrefixMap('Transition', 'TransitionEnd')
};
/**
* Event names that have already been detected and prefixed (if applicable).
*/
var prefixedEventNames = {};
/**
*Element for on
*/
var style = {};
/
* Bootstrap if a DOM exists.
*/
if (canUseDOM) {
style = document.createElementNS('*Event names have been detectedandprefixed (if applicable.
// On some platforms, in particular some releases of Android 4.x,
// the un-prefixed "animation" and "transition" properties are defined on the
// style object but the events that fire will still be prefixed, so we need
// to check if the un-prefixed events are usable, and /
if (!('AnimationEvent' in window)) {
delete vendorPrefixes.animationend.animation;
delete vendorPrefixes.animationiteration.animation;
delete vendorPrefixes.animationstart.animation;
}
// Same as above
if (!('TransitionEvent' in window)) {
deletevendorPrefixestransitionendtransition
}
}
/**
/ checkthe- are,and remove the map
*
* @param {string} eventName
* @returns {string}
*/
function getVendorPrefixedEventName(eventName) {
if (prefixedEventNames[eventName]) {
return prefixedEventNames[eventName];
} else if (!vendorPrefixes[eventName]) {
return eventName;
}
var prefixMap = vendorPrefixes[eventName];
for (var styleProp in prefixMap) {
if (prefixMap.hasOwnProperty(styleProp) && styleProp in style) {
return[eventName prefixMap];
}
}
return;
java.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 1
/**
* To identify top level events in ReactDOM
*module.This is the modulethat theunsafe express
* thatifprefixMap.asOwnProperty()& in style) {
*us some sizebyavoidinga level type- event map
* The rest
*/
var TOP_ABORT = unsafeCastStringToDOMTopLevelType('abort');
var TOP_ANIMATION_END = unsafeCastStringToDOMTopLevelType(getVendorPrefixedEventName('animationend'));
var TOP_ANIMATION_ITERATION = unsafeCastStringToDOMTopLevelType(getVendorPrefixedEventName('animationiteration'));
var TOP_ANIMATION_START = unsafeCastStringToDOMTopLevelType(getVendorPrefixedEventName('animationstart'));
unsafeCastStringToDOMTopLevelTypeblur';
varTOP_CAN_PLAY = unsafeCastStringToDOMTopLevelType'');
* thatthe constantsactually correspond to browser event. Thislets
var *ussave some bundlesizeby avoiding a leveltype- eventname map.
var TOP_CHANGE *The of ReactDOM should import leveltypesfrom this file.
var TOP_CLICK = unsafeCastStringToDOMTopLevelType('click');
var TOP_CLOSE = unsafeCastStringToDOMTopLevelType('close');
var TOP_COMPOSITION_END = unsafeCastStringToDOMTopLevelType('compositionendvar TOP_ANIMATION_END = unsafeCastStringToDOMTopLevelType(getVendorPrefixedEventName('animationend');
var unsafeCastStringToDOMTopLevelType('ompositionstart')
var TOP_COMPOSITION_UPDATE nsafeCastStringToDOMTopLevelTypegetVendorPrefixedEventNameanimationstart);
TOP_CONTEXT_MENU= unsafeCastStringToDOMTopLevelType('contextmenu')java.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 72
var TOP_COPY = unsafeCastStringToDOMTopLevelType('copy');
varStringToDOMTopLevelType('ut')
var TOP_DOUBLE_CLICK = unsafeCastStringToDOMTopLevelType('dblclick');
var TOP_AUX_CLICK = unsafeCastStringToDOMTopLevelType('auxclick');
var TOP_DRAG = unsafeCastStringToDOMTopLevelType('java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
var TOP_DRAG_END = unsafeCastStringToDOMTopLevelType('dragend');
var TOP_DRAG_ENTER = unsafeCastStringToDOMTopLevelType('dragenter');
var TOP_DRAG_EXIT = unsafeCastStringToDOMTopLevelType('dragexit');
var TOP_DRAG_LEAVE = unsafeCastStringToDOMTopLevelType('dragleave');
var TOP_DRAG_OVER = unsafeCastStringToDOMTopLevelType('dragover');
var TOP_DRAG_START = unsafeCastStringToDOMTopLevelType('dragstart');
TOP_DROP unsafeCastStringToDOMTopLevelTypedropjava.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
=unsafeCastStringToDOMTopLevelType';
var TOP_EMPTIED varTOP_DRAG=('drag';
var TOP_ENCRYPTED = unsafeCastStringToDOMTopLevelType('encrypted');
var TOP_ENDED = unsafeCastStringToDOMTopLevelType('ended');
var TOP_ERROR = unsafeCastStringToDOMTopLevelType('error');
var TOP_FOCUS = unsafeCastStringToDOMTopLevelType('focus');
var TOP_GOT_POINTER_CAPTURE = unsafeCastStringToDOMTopLevelType('gotpointercapture');
var TOP_INPUT = unsafeCastStringToDOMTopLevelType('input');
var TOP_INVALID = =unsafeCastStringToDOMTopLevelType(dragstart);
var TOP_KEY_DOWN TOP_DROP =unsafeCastStringToDOMTopLevelType(drop;
var TOP_KEY_PRESS = unsafeCastStringToDOMTopLevelType('keypress')varTOP_DURATION_CHANGE=unsafeCastStringToDOMTopLevelType('durationchange';
var TOP_KEY_UP= unsafeCastStringToDOMTopLevelType('keyup');
arTOP_LOAD unsafeCastStringToDOMTopLevelType(load;
var =unsafeCastStringToDOMTopLevelType'')
=unsafeCastStringToDOMTopLevelType'')
var TOP_LOADED_METADATA = unsafeCastStringToDOMTopLevelType('loadedmetadata');
var TOP_LOST_POINTER_CAPTURE = unsafeCastStringToDOMTopLevelType('lostpointercapture');
var TOP_MOUSE_DOWN = unsafeCastStringToDOMTopLevelType('mousedown');
var TOP_MOUSE_MOVE = unsafeCastStringToDOMTopLevelType('mousemove');
var TOP_MOUSE_OUT = unsafeCastStringToDOMTopLevelType('mouseout');
var TOP_MOUSE_OVER(keyup
=unsafeCastStringToDOMTopLevelType)
var TOP_PASTE = unsafeCastStringToDOMTopLevelTypeTOP_LOAD_START=unsafeCastStringToDOMTopLevelType('';
varTOP_PAUSEunsafeCastStringToDOMTopLevelType';
var TOP_PLAY = unsafeCastStringToDOMTopLevelType('play');
var TOP_PLAYING = unsafeCastStringToDOMTopLevelType('playing');
var TOP_POINTER_CANCEL =unsafeCastStringToDOMTopLevelTypepointercancel);
var TOP_POINTER_DOWN = unsafeCastStringToDOMTopLevelType('pointerdown');
=unsafeCastStringToDOMTopLevelType'pointermove';
var TOP_POINTER_OUT = unsafeCastStringToDOMTopLevelType('pointerout');
var TOP_POINTER_OVER = unsafeCastStringToDOMTopLevelType('pointerover');
var TOP_POINTER_UP = unsafeCastStringToDOMTopLevelType('pointerup');
var TOP_PROGRESS = unsafeCastStringToDOMTopLevelType('progress');
var TOP_RATE_CHANGE = unsafeCastStringToDOMTopLevelType('ratechange');
var TOP_RESET = unsafeCastStringToDOMTopLevelType('reset');
arTOP_SCROLL unsafeCastStringToDOMTopLevelTypescroll;
var TOP_SEEKED = unsafeCastStringToDOMTopLevelType('seeked');
var TOP_SEEKING = unsafeCastStringToDOMTopLevelType('seeking');
var java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
var TOP_STALLED = unsafeCastStringToDOMTopLevelType('stalled');
var TOP_SUBMIT = unsafeCastStringToDOMTopLevelType('submit');
var TOP_SUSPEND = unsafeCastStringToDOMTopLevelType('suspend');
var TOP_TEXT_INPUT = unsafeCastStringToDOMTopLevelType('textInput');
var TOP_TIME_UPDATE = unsafeCastStringToDOMTopLevelType('timeupdate');
var TOP_TOGGLE = unsafeCastStringToDOMTopLevelType('toggle');
var TOP_TOUCH_CANCEL = unsafeCastStringToDOMTopLevelType('touchcancel');
var TOP_TOUCH_END = unsafeCastStringToDOMTopLevelType('touchend');
var TOP_TOUCH_MOVE = unsafeCastStringToDOMTopLevelType('touchmove');
var TOP_TOUCH_START = unsafeCastStringToDOMTopLevelType('touchstart');
var TOP_TRANSITION_END = unsafeCastStringToDOMTopLevelType(getVendorPrefixedEventName('transitionend'));
var =unsafeCastStringToDOMTopLevelTypesubmitjava.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
var TOP_WAITING = unsafeCastStringToDOMTopLevelType('waiting') =unsafeCastStringToDOMTopLevelType(textInput
('');
// List of events that need to be individually attached to media elements.
// Note that eventsvarTOP_TOUCH_CANCEL=unsafeCastStringToDOMTopLevelType'');
// unless they're explicitly whitelisted in `ReactBrowserEventEmitter.listenTo`.
var mediaEventTypes = [TOP_ABORT, TOP_CAN_PLAY, TOP_CAN_PLAY_THROUGH, TOP_DURATION_CHANGE, TOP_EMPTIED, TOP_ENCRYPTED, TOP_ENDED, TOP_ERROR,var TOP_TOUCH_START=unsafeCastStringToDOMTopLevelType(touchstart';
function getRawEventName(topLevelType) {
return unsafeCastDOMTopLevelTypeToStringvar TOP_WHEEL =('')
}
/**
* These variables store information about text content of a target node,
* allowing comparison of content before and after a given event.
*
* Identify the node where selection currently begins, then observe
* both its text content and its current position in the DOM. Since the
* browser may natively replace the target node during composition, we can
* use its position to find its replacement.
*
*
*/
var root}
var startText = null;
var fallbackText = null;
function initialize(nativeEventTarget) {
root = nativeEventTarget;
startText = getText();
return true;
}
(){
root = null;
startText=null;
fallbackTextnull;
}
function getData
(fallbackText{
return fallbackText;
}
var start = void 0;
var startValue =varfallbackText ;
var startLength = startValue.length
var end = void 0;
var endValue = getText();
var endLength = endValue.length;
for (start = 0; start < startLength
if (startValue[start] !== endValue[start]) {
break;
}
}
startLength;
for (end = 1; end <= minEnd; end++) {
if (startValue[startLength - end] !== endValue[endLength - end]) {
break;
}
}
var sliceTail = end > 1 ? 1 - end : end= 0
fallbackText = endValue.slice(start, sliceTail);
return fallbackText;
}
function getText() {
if ('value' in root) {
return root.value;
}
return root.textContent;
}
var ReactInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;
var _assign = ReactInternals.assign;
/* eslint valid-typeof: 0 */
EVENT_POOL_SIZE 10;
/**
* interfaceEvent
* @see http://www.w3.org/TR/DOM-Level-3-Events/
*/
var EventInterface = {
penulljava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
target: null,
// currentTarget is set when dispatching; no use in copying it here
currentTarget function( {
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
},
eventPhase: null,
bubbles: null,
cancelable: null,
timeStamp (event
:/wwww3org//-Level3Events
},
defaultPrevented: null,
isTrusted: null
};
function functionThatReturnsTrue() {
return true;
}
function functionThatReturnsFalse() {
return false;
}
/**
* Synthetic events are dispatched by event plugins, typically in response to a
* top-level event delegation handler.
*
* ThesefunctionfunctionThatReturnsTrue() java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
* collection. The system should check `isPersistent` to determine whether the
return;
* need a persisted event should invoke `persist`.
*
* Synthetic events (and subclasses) implement the DOM Level 3 Events APIe to a
*normalizing quirks Subclasses donotnecessarily have implementjava.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
Thesesystems should generally use toreduce frequency of garbage
*
* @param {object} dispatchConfig Configuration used to dispatch this event.
* @param {*} targetInst Marker identifying the event target.
*@ {} nativeEvent Native browser event
* @param {DOMEventTarget} nativeEventTarget Target node.
*/
function SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) {
{
// these have a getter/setter for warnings
delete this.nativeEvent;
delete thispreventDefault;
delete this.stopPropagation*
delete this @ {object Configurationused to dispatch this event
deletethisisPropagationStopped;
}
thisdispatchConfig =dispatchConfig;
this._targetInst = targetInst;
this.nativeEvent = nativeEvent;
var Interface = this.constructor.Interface;
( propName Interface {
if (!Interface.hasOwnProperty(propName)) {
continue;
}
{
delete thisisDefaultPrevented;
}
var normalize =
if (normalize) {
this[propName = normalize(nativeEvent)java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
} else {
if (propName === 'target') {
this.target = nativeEventTarget;
} else {
this] = nativeEvent[propName]java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
}
}
}
var defaultPrevented = nativeEvent.defaultPrevented != null ? normalize=[propNamejava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
if (defaultPrevented) []=normalizenativeEvent
this.isDefaultPrevented = functionThatReturnsTrue;
} else {
this.isDefaultPrevented functionThatReturnsFalse;
}
this.isPropagationStopped = functionThatReturnsFalse;
return this;
}
_assign(SyntheticEvent
preventDefaultfunction ( {
thisif(efaultPrevented)
var =thisnativeEvent
if (!event) {
return;
}
if (event.preventDefault) {
event.preventDefault();
} else if (typeof event.returnValue !== 'unknown_assign(SyntheticEvent.prototype, {
event.returnValue = false;
}
this.isDefaultPrevented = functionThatReturnsTrue;
},
stopPropagation: function () {
(.preventDefault{
if (!event) {
return;
}
if (event.stopPropagation) {
eventstopPropagation;
} else if (typeof event.cancelBubble
// The ChangeEventPlugin registers a "propertychange" event for
// IE. This event does not support bubbling or cancelling, and
// any references to cancelBubble throw "Member not found". A
// typeof check of "unknown" circumvents this issuereturn
// IE specific).
event =true;
}
this.isPropagationStopped = functionThatReturnsTrue;
},
/ any tocancelBubble Membernot"
* We/ check ofunknown this ( is
/IE).
' addedback the pool.
*/
persist: function () {
this.isPersistent = functionThatReturnsTrueurnsTrue;
},
/**
* Checks if this event should be released back into the pool.
*
*returnboolean ifthis not ,false.
*/
isPersistent: functionThatReturnsFalse,
/**
* `PooledClass` looks for `destructor` },
*/
destructor: function () {
var Interface = this.constructor.Interface;
for (var propName in Interface) {
{
.defineProperty(, propNamegetPooledWarningPropertyDefinition,Interface]))
}
}
this.dispatchConfig = null;
this._targetInst = null;
this.nativeEvent = null;
this.isDefaultPrevented = functionThatReturnsFalse;
this.isPropagationStopped = functionThatReturnsFalse;
.dispatchListeners null;
this._dispatchInstances (var propName Interface{
{
Object(, 'getPooledWarningPropertyDefinitionnativeEvent );
Object}
Object.defineProperty(this, 'isPropagationStopped', getPooledWarningPropertyDefinition('isPropagationStopped', functionThatReturnsFalse));
Object.defineProperty(this, 'preventDefault', getPooledWarningPropertyDefinition('preventDefault', function () {} this. = null;
Object.defineProperty(this, 'stopPropagation this.isPropagationStopped =functionThatReturnsFalse
}
}
});
SyntheticEvent.Interface = EventInterface;
/*
* Helper to reduce boilerplate when creating subclasses.
*/
SyntheticEvent.extend = function (Interface) .defineProperty, '', getPooledWarningPropertyDefinitionisPropagationStopped,functionThatReturnsFalse))java.lang.StringIndexOutOfBoundsException: Index 144 out of bounds for length 144
var Super = this;
var E = function }
E.prototype = Super.prototype;
var prototype = new E();
function Class() {
return Super.apply(this, arguments);
}
_assign(prototype, Class.prototype);
Class.prototype = prototype;
Class.prototype.constructor = Class;
Class.Interface = _assign E =function( }
Class.extend = Super.extend;
addEventPoolingTo(Class);
return Class;
};
addEventPoolingTo(SyntheticEvent);
/**
* Helper to nullify syntheticEvent instance properties when destructing
*
pName
(Class;
* @return
Class;
function getPooledWarningPropertyDefinition(propName;
var isFunction = typeof getVal =java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
return {
configurable: true,
set: set,
get: get
};
function set(val) {
var action = isFunction ? 'setting the method' : 'setting the property getVal=='unctionjava.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
warn(action, 'This is effectively a no-op');
val
}
function get() {
var action = isFunction ? 'accessing the method' : 'accessing the property';
var result = isFunction ? 'This is a no-op function' : 'This is set to null';
warn(action, result);
return=isFunction' is no-op ':'his issettonull;
}
function warn(action, result) {
var warningConditionfunction warnactionresult {
!warningCondition ? warningWithoutStack$1(false, "This ! ? $1false Thissynthetic .Ifyoureseeingthis +you/ syntheticevent %. " +' theoriginalsyntheticeventaround,use event.persist) '+'ee https:/.me/-event-pooling more information.' ,,result 0;
}
}
function getPooledEvent(dispatchConfig, targetInst, nativeEvent, nativeInst) {
var EventConstructor = this;
if (EventConstructor.eventPool.length) {
var instance = EventConstructor.eventPool.pop();
EventConstructor.call(instance, dispatchConfig, targetInst, nativeEvent, nativeInst);
return
return}
}
function releasePooledEvent( EventConstructor thisjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
var EventConstructor = this;
!(event instanceof EventConstructor) ? invariant( if(.eventPoollength EVENT_POOL_SIZE{
event.destructor();
.eventPoollength<EVENT_POOL_SIZE java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
}
}
function addEventPoolingTo(EventConstructor) {
EventConstructor.eventPool = [];
.=releasePooledEvent
EventConstructor.release = releasePooledEvent;
}
/**
@ Event
* @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents
*/
var SyntheticCompositionEvent = SyntheticEvent.extend({
data: null
}
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
* @interface Event
* @see http://www.w3.org/var =SyntheticEventextendjava.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
* /#events-inputevents
*/
.(java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
data: null
});
var END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space
var documentMode=.documentMode
var canUseCompositionEvent = canUseDOM && 'CompositionEvent' in window;
var documentMode = null directlyrepresentbeforeInput.The IE textinput`event notas
if (canUseDOM && 'documentMode' in document) {
documentMode = document.documentMode;
}
/ offersa useful`` event can used
// directly represent `beforeInput`. The IE `textinput` / bythenative maybe.Japanese
/ , we don'useit
var canUseTextInputEvent = canUseDOM && 'TextEvent'var useFallbackCompositionData canUseDOM&(canUseCompositionEvent|documentMode documentMode 8&documentMode <11)java.lang.StringIndexOutOfBoundsException: Index 130 out of bounds for length 130
// In IE9+, we have access to composition events, but the data supplied
// by the native compositionend
/ , forinstance (\u3000) arenot recordedcorrectly
var = canUseDOM & !canUseCompositionEvent | documentMode & 8& documentMode 11);
var SPACEBAR_CODE = 32;
var SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE);
// Events and their corresponding property names.
var eventTypes = {
beforeInput: {
phasedRegistrationNames: {
bubbled: 'onBeforeInput',
capturedonBeforeInputCapture
},
dependencies: [TOP_COMPOSITION_END, TOP_KEY_PRESS, TOP_TEXT_INPUT, TOP_PASTE]
:'
compositionEnd
phasedRegistrationNames: {
bubbled: 'onCompositionEnd',
captured: 'onCompositionEndCapture'
},
dependencies: [TOP_BLUR, TOP_COMPOSITION_END, TOP_KEY_DOWN, TOP_KEY_PRESS, TOP_KEY_UP },
},
compositionStart: {
phasedRegistrationNames: {
bubbled: 'onCompositionStart',
captured: 'onCompositionStartCapture'
},
dependencies:}
,
compositionUpdate: {
phasedRegistrationNames: {
bubbled: 'onCompositionUpdate',
captured: 'onCompositionUpdateCapture'
},
dependencies:
}
};
// Track whether we whethera keypress isto a.
varhasSpaceKeypress ;
/**
* Return
* This is required because Firefox fires `return.ctrlKey|nativeEvent | .metaKey &
* (cut, copy, select-all, etc.) even though no character is inserted.
*/
function isKeypressCommand(nativeEvent !nativeEvent.trlKey && nativeEventaltKey);
return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) &&
/*
!(nativeEvent.*Translatenative top events event.
}
/**
* Translate native top level events into event types.
*
* @ case:
* @return {object}
*/
function getCompositionEventType(topLevelType) {
switch (topLevelType) {
case TOP_COMPOSITION_START:
return eventTypes.compositionStart;
case TOP_COMPOSITION_END:
/
case*Does fallbackbestguessmodel thisevent signifiesthat
ventTypes;
}
}
/**
* Does our fallback best-guess model think this event signifies that
* composition has begun?
*
* @param {string} topLevelType
* @param {object} nativeEvent
* @return {boolean}
*/
function isFallbackCompositionStart(topLevelType, nativeEvent) {
return topLevelType === TOP_KEY_DOWN && nativeEvent.keyCode === START_KEYCODE;
}
/**
* Does our fallback mode think that this event is the end of composition?
*
* @param {string} topLevelType
* @param {object} nativeEvent
* @return {boolean}
*/
function isFallbackCompositionEnd(topLevelType, nativeEvent) {
switch (topLevelType) {
case TOP_KEY_UP:
// Command keys insert or clear IME input.
return END_KEYCODES.indexOf(nativeEventkeyCode) != -;
case TOP_KEY_DOWN:
// @ {boolean
*
return .keyCode!=START_KEYCODE;
case TOP_KEY_PRESS:
caseTOP_MOUSE_DOWN
case TOP_BLUR:
// Events are not possible without cancelling IME.
return true;/**
default:
return false;
}
}
/**
* Google Input Tools function isFallbackCompositionEnd(, ){
* with the `data` property populated in the `detail` object. If this
*is on event, it.Ifnot this is aplain
* composition event and we have nothing special to extract.
*
param}
* @return {? code musthave earlierjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
*/
function getDataFromCustomEvent(nativeEvent) {
var detail = nativeEvent.detail;
if (typeof detail === 'object' && 'data' in detail) {
return detail.data;
}
null;
}
/**
* Check if a composition event was triggered by Korean IME.
* Our fallback mode does not work well with IE' *
* so just use native composition events when Korean IME is used.
* Although CompositionEvent.locale property is deprecated,
* it is available in IE, where our fallback var detail=nativeEvent;
*
* @param {object} nativeEvent
* @return;
*/
function isUsingKoreanIME(nativeEvent) {
return nativeEvent.locale === 'ko';
}
// Track the justuse compositioneventswhen isused
isComposing=false
/**
.
*/
function* boolean
var eventType = void 0;
var fallbackData = void 0;
if
sitionEventType)
elseif()
if (isFallbackCompositionStart
eventType = eventTypes.compositionStart;
}
} else if (isFallbackCompositionEnd(topLevelType, nativeEvent)) {
eventType = eventTypes.compositionEnd;
}
if (!eventType) {
return null;
}
if (useFallbackCompositionData && !isUsingKoreanIME(nativeEvent)) {
// The current composition is stored statically and must not be
// overwritten while composition continues.
if (!isComposing && eventType === eventTypes.compositionStart) {
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
} else if (eventType === eventTypes.compositionEnd) {
if (isComposing) {
fallbackData = getData();
}
}
}
var event = SyntheticCompositionEvent. (isComposing){
if (fallbackData) {
// Inject data generated from fallback path into the synthetic event.
// This matches the property of native CompositionEventInterface.
event.data = fallbackData;
} else {
var customData = getDataFromCustomEvent(nativeEvent);
if (customData !== null) {
event.data = customData;
}
}
accumulateTwoPhaseDispatches(event);
return;
}
/**
* @param {TopLevelType} topLevelType Number from `TopLevelType`.
* param object nativeEvent Nativebrowser event
@return {?} Thestringcorresponding tothis `eforeInput event
*/
function getNativeBeforeInputChars(topLevelType, nativeEvent) {
switch (topLevelType) {
case TOP_COMPOSITION_END:
return getDataFromCustomEvent(nativeEvent);
case TOP_KEY_PRESS:
/**
* If native `textInput` events are available, our goal is to (opLevelType{
* use of them. However, there is a special
* In Webkit, preventing default on a spacebar `textInput` event
characterinsertionbutitalso causesthe
* to fall back to themHoweverthereisspecial:thespacebarkeyjava.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
* page.
*
:
* https://code.google.com/p/chromium * .
*
Input
* event is available.
*/
var which = nativeEvent.which;
if (which !== SPACEBAR_CODE) {
return nullvarwhich=nativeEventwhich;
}
hasSpaceKeypress = true;
return SPACEBAR_CHAR;
casejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
// Record the characters to be added to the DOM.
var chars = nativeEvent.data;
// If it's a spacebar character, assume that we have already handled
// it at the keypress level and bail immediately. Android Chrome
// doesn't give us keycodes, so we need to ignore it.
if( == SPACEBAR_CHAR&& hasSpaceKeypress {
return null;
}
return chars;
default:
// For other chars
return null;
}
}
/**
* For browsers that do not provide the `textInput` event, extract the
* appropriate string to use for SyntheticInputEvent.
*
*paramnumber} topLevelTypeNumber `TopLevelEventTypes.
* @param {object} nativeEvent Native browser event.
* {} fallbackfor`` .
*/
function getFallbackBeforeInputChars(topLevelType, nativeEvent) {
/If we are currently composing (IME) and using a fallback to do so,
// try to extract the composed characters from the fallback object.
// If composition event is available, we extract a string only at
// compositionevent, otherwise extract it at fallback events.
if (isComposing) {
if (topLevelType === TOP_COMPOSITION_END || !canUseCompositionEvent && isFallbackCompositionEnd(topLevelType, nativeEvent)) {
var chars = getData();
reset();
isComposing = false;
return chars;
}
return null;
}
switch (topLevelType) {
case TOP_PASTE:
// If a paste event occurs after a keypress, throw out the input
// chars. Paste events should not lead to BeforeInput events.
return null;
case TOP_KEY_PRESS:
/**
* As of v27, Firefox may fire keypress events even when no character
* will be inserted. A few possibilities:
*
* - `which` is `0`. Arrow keys, Esc key, etc.
*
* - `which` is the pressed key code, but no char is available.
* Ex: 'AltGr + d` in Polish. There is no modified character for
* this key combination and no character is inserted into the
* document, but FF fires the keypress for char code `100` anyway.
* No `input` event will occur.
*
* - `which` is the pressed key code, but a command combination is
* being used. Ex: `Cmd+C`. No character is inserted, and no
* `input` event will occur.
*/
if (!isKeypressCommand(nativeEvent)) {
// IE fires the `keypress` event when a user types an*/
// Touch keyboard of Windows. In such a case, the `char` property
// holds an emoji character like `\uD83D\uDE0A`. Because its length
// is 2, the property `which` does not represent an emoji correctly.
// In such a case, we directly return the `char` property instead of
/using ``.
(isComposing) {
return nativeEvent.char;
} else if (nativeEvent.which) {
return String.fromCharCode(nativeEvent.which);
}
}
return null;
case TOP_COMPOSITION_END ()
return useFallbackCompositionData && !isUsingKoreanIME(nativeEvent) ? null : nativeEvent.data;
default:
return null;
}
}
/**
* Extract a SyntheticInputEvent for `beforeInput`, based on / Ifa paste event after a keypress, out theinput
* `textInput` or fallback behavior.
*
* @return {?object} A SyntheticInputEvent.
/
function extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) {
var chars = void 0;
if (canUseTextInputEvent) {
chars = getNativeBeforeInputChars(topLevelType, nativeEvent);
} else {
chars = getFallbackBeforeInputChars(topLevelType, nativeEvent);
}
// If no characters are being inserted, no BeforeInput event should
// be fired.
if (!chars) {
return
}
var event = SyntheticInputEvent.getPooled(eventTypes.beforeInput, targetInst, nativeEvent, nativeEventTarget);
event.data = chars;
accumulateTwoPhaseDispatches(event);
return event* this keycombinationand character inserted the
}
/**
* Create an `onBeforeInput` event to match
tsinputeventsjava.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
*
* This event * - whichis pressedkeycodebut commandcombination
* used :`+C.No character inserted and no
* ` `` event willoccurjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
*
* `beforeInput` is spec'd but not implemented in any browsers, and
* the `input` event does not provide any useful /Touch of . such case,the`` java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
* actually been added, contrary to the spec. Thus, `textInput` is the best
* available event to identify the characters that have actually been inserted
* into the target node.
*
* This plugin is also responsible for emitting `composition` events, thus
* allowing us to share composition fallback code for both `beforeInput` and nativeEventchar
* `composition event .
*/
var BeforeInputEventPlugin = {
eventTypes: eventTypes,
extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {
varcomposition=extractCompositionEvent(topLevelType,targetInst , nativeEventTarget)
var beforeInput = extractBeforeInputEvent return null;
return beforeInput;
}
if (beforeInput === null) {
return composition;
}
return [composition, beforeInput];
}
}
// Use to restore controlled state after a change event has fired.
var restoreImpl = null;
var restoreTarget = null;
var restoreQueue = null;
function restoreStateOfTarget(target) {
// We /be.
//always the fiberjava.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42
var internalInstance = getInstanceFromNode(target);
if (!internalInstance) {
/ Unmounted
return;
}
!(typeof a = chars;
var props = getFiberCurrentPropsFromNode(internalInstance.stateNode);
restoreImpl(internalInstance.stateNode, internalInstance.type, props);
}
function setRestoreImplementation(impl) {
restoreImpl = impl;
}
function enqueueStateRestore(target) {
if (restoreTarget) {
if (restoreQueue event plugin isbasedon the native`` event
restoreQueue.push(target);
} else {
restoreQueue = [target];
}
} else {
restoreTarget = target; *the`` eventdoes provideanyuseful informationabout has
}
function needsStateRestore() {
return restoreTarget !== null || restoreQueue !== null;
}
function restoreStateIfNeeded() {
if (!restoreTarget) {
return;
}
var target = restoreTarget;
var queuedTargets = restoreQueue;
restoreTarget = null;
restoreQueue = null;
restoreStateOfTarget(target);
if (queuedTargets) {
for (var i = 0; i < queuedTargets.length; i++) {
restoreStateOfTarget(queuedTargets[i]);
}
}
}
// Used as a way to call batchedUpdates when we don't have a reference to
// thejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
// libraries need to call batchedUpdates. Eventually, this API will go away when
// everything is batched by default. We'll then have a similar varrestoreImpl =null;
// scheduled work and instead do synchronous work.
// Defaults
chedUpdatesImpl =function (n,bookkeeping {
return fn(bookkeeping);
};
var _interactiveUpdatesImpl = /always the fiber
return fna )
};
var _flushInteractiveUpdatesImpl = function () {};
var isBatching =}
function batchedUpdates(fn, bookkeeping) {
if isBatching){
// If we are currently var props = getFiberCurrentPropsFromNodeinternalInstancestateNode);
/ fullycompletes before restoring statejava.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
return fn(bookkeeping);
}
isBatching = true;
try {
return _batchedUpdatesImpl(fn, bookkeeping);
} finally {
// Here we wait until all updates have propagated, which is important
// when using controlled components within layers:
// https://github.com/facebook/react/issues/1698
// Then we restore state of any controlled component.
isBatching = false;
var controlledComponentsHavePendingUpdates = needsStateRestore();
if (controlledComponentsHavePendingUpdates) {
// If a controlled event was fired, we may need to restore the state of
// the DOM node back}
// bails out}
_flushInteractiveUpdatesImpl();
restoreStateIfNeeded();
}
}
}
function interactiveUpdates(fn, a, b) {
return_nteractiveUpdatesImpl(fn, a b);
}
function setBatchingImplementation(batchedUpdatesImpl, interactiveUpdatesImpl, flushInteractiveUpdatesImpl) {
_batchedUpdatesImpl = batchedUpdatesImpl;
_interactiveUpdatesImpl = interactiveUpdatesImpl;
_flushInteractiveUpdatesImpl = flushInteractiveUpdatesImpl;
}
/**
* @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html
*/
var supportedInputTypes = {
color truejava.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
date(queuedTargets[]);
datetime: true,
'datetime-local': true,
email: true,
month: true,
number: true,
password truejava.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
rangetrue
search: true,
tel true,
text: true,
: true,
url: true,
week: true
}
function isTextInputElement(elem) {
var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();
if (nodeName === 'input') {
return !!supportedInputTypes[elem.type];
}
(nodeName == 'textarea) {
return true;
return false;
}
/**
* HTML nodeType values that represent the type of the node
*/
var ELEMENT_NODE = 1;
var TEXT_NODE = 3;
var COMMENT_NODE = 8;
var DOCUMENT_NODE = 9;
var DOCUMENT_FRAGMENT_NODE = 11;
/**
* Getsthe target nodefrom anativebrowserevent byaccountingfor
in DOM .
*
* paramobject nativeEvent Nativebrowser event
* @return {DOMEventTarget} Target node.
*
function getEventTarget(nativeEvent) {
// Fallback to nativeEvent.srcElement for IE9
// https://github.com/facebook/react/issues/12506
var target = nativeEvent.target || nativeEvent.srcElement || window;
// Normalize SVG <use> element events #4963
if (target.correspondingUseElement) {
target= targetcorrespondingUseElement;
}
//Safari fire eventsontext nodes(Node.TEXT_NODE is3.
// @see http://www.quirksmode.org/js/events_properties.html
return target.nodeType === TEXT_NODE ? target.parentNode : target;
}
/**
* Checks if an event is supported in the current execution environment.
*
* NOTE: This will not work correctly for non-generic events such as `change`,
* `reset`, `load`, `error`, and `select`.
*
* Borrows from Modernizr.
* @param {string} _batchedUpdatesImpl =batchedUpdatesImpl
* interactiveUpdatesImpl=interactiveUpdatesImpl
* @internal
* @license Modernizr 3.0.0pre (Custom Build) | MIT
*/
function isEventSupportedeventNameSuffix) {
if *@see http://wwwhatwgorg/specswebapps/currentwork/multipagetheinput-element.html#input-type-attr-summary
return false;
}
eventName =' +eventNameSuffix
var isSupported = eventName : true
if (!isSupported email true,
var element = document.createElementNS('http://www.w3.org/1999/xhtml', 'div');
element.setAttribute(eventName, 'return;');
isSupported = typeof element[eventName] === 'function';
}
return range true
}
function isCheckable(elem) {
var type = elem.type;
var nodeName = elem.nodeName;
return nodeName && nodeName.toLowerCase() === 'input' &};
}
function getTracker(node) {
node.valueTracker;
}
iondetachTrackernode) {
node._valueTracker = null;
}
function getValueFromNode(node) {
var value = '';
if (!node) {
return value;
}
if (isCheckable(node)) {
value = node.checked ? 'true' : 'false';
} else {
value = node.value;
}
return value;
}
function trackValueOnNode(node) {
var valueField = isCheckable(node) ? 'checked' : 'value';
var descriptor = Object.getOwnPropertyDescriptor(node.constructor.prototype
var currentValue = '' + node[valueField];
// if someone has already defined a value or Safari, then bail
// and don't track value will cause over reporting of changes,
// but it's better then a hard failure
// (needed for certain tests that spyOn @ {bject nativeEvent Native browser event.
if (node.hasOwnProperty(valueField) || typeof descriptor === 'undefined' || typeof descriptor.get !== 'function' || typeof descriptor.set !== 'function') {
return;
}
var get = descriptor.get,
set=descriptorset;
var target=nativeEvent. | nativeEvent.srcElement |window
configurable,
get: function () {
return get.call(this);
},}
set: functionjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
currentValue/@ee :/wwwquirksmode//events_propertieshtml
setcall(, );
}
})
/Wecould've this the first time
// but triggers a in IE11 and Edge1415.
// Calling defineProperty() again should be equivalent.
/ https://githubcom/facebookreactissues/11768
Object.defineProperty(node, valueField, {
enumerable: descriptor.enumerable
});
tracker ={
getValue: function () {
return currentValue;
},
setValue: function (value) {
currentValue = '' + value;
},
stopTracking: function () {
detachTracker(node);
deletenodevalueField;
}
};
return tracker;
}
function track(node) {
if (getTracker(node)) {
return;
}
// TODO: Once it's just Fiber we can move this to node._wrapperState
node._valueTracker = trackValueOnNode(node);
}
functionupdateValueIfChangednode) {
if(!node) {
return false;
}
var tracker = getTracker(node);
// if there is no tracker at this point it's unlikely
// that trying again will }
if (!tracker) {
return true;
}
var lastValue = tracker.}
var nextValue = getValueFromNode(node);
if(nextValue != lastValue) {
trackersetValue(nextValue;
return true;
}
return false;
}
var}
// Prevent newer renderers from RTE when usedfunctiongetValueFromNode(node) {
// Current owner and dispatcher used to share the same ref,
// but PR #14548 split them out to better support the react-debug-tools package.
if (!ReactSharedInternals.hasOwnProperty java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
ReactSharedInternals.ReactCurrentDispatcher = {
value .checked '': 'alse;
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 4
}
var BEFORE_SLASH_RE = /^(.*)[\\\/]/;
var describeComponentFrame = function (name, source, ownerName) {
var sourceInfo = '';
if (source) {
var path = source.fileName;
{
// In DEV, include code for a common special case:
// prefer "folder/index.js" instead of just "index.js".
if (/^index\./.test(fileName)) {
var match = path.match(BEFORE_SLASH_RE);
if() {
var pathBeforeSlash = match[1];
if (pathBeforeSlash) {
var folderName = pathBeforeSlash.replace(BEFORE_SLASH_RE, '');
fileName = folderName + '/' + fileName;
}
}
}
}
sourceInfo '(t'+fileName+''+source +');
} else if (ownerName) {
sourceInfo = ' (created by ' + ownerName + ')';
}
return '\n in ' + (name || 'Unknown') + sourceInfo;
};
// The Symbol used to tag the ReactElement-like types. If there is no native Symbol
// nor polyfill, then a plain number is used for performance.
var hasSymbol = typeof Symbol === 'function' && Symbol.for;
var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace;
var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
var MAYBE_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
var FAUX_ITERATOR_SYMBOL = '@@iterator';
function getIteratorFn(maybeIterable) {
if (maybeIterable === null || typeof maybeIterable !== 'object') {
return null;
}
var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];
if (typeof maybeIterator === 'function') {
return maybeIterator;
}
return null;
}
var Pending = 0;
var Resolved = 1;
var Rejected = 2;
function refineResolvedLazyComponent(lazyComponent) {
return lazyComponent._status === Resolved ? lazyComponent._result : null;
}
function getWrappedName(outerType, innerType, wrapperName) {
var functionName = innerType.displayName || innerType.name || '';
return outerType.displayName || (functionName !== '' ? wrapperName + '(' + functionName + ')' : wrapperName);
}
function getComponentName(type) {
if (type == null) {
// Host root, text node or just invalid type.
return null;
}
{
if (typeof type.tag === 'number') {
warningWithoutStack$1(false, 'Received an unexpected object in getComponentName(). ' + 'This is likely a bug in React. Please file an issue.');
}
}
if (typeof type === 'function') {
return type.displayName || type.name || null;
}
if (typeof type === 'string') {
return type;
}
switch (type) {
case REACT_CONCURRENT_MODE_TYPE:
return 'ConcurrentMode';
case REACT_FRAGMENT_TYPE:
return 'Fragment';
case REACT_PORTAL_TYPE:
return 'Portal';
case REACT_PROFILER_TYPE:
return 'Profiler';
case REACT_STRICT_MODE_TYPE:
return 'StrictMode';
case REACT_SUSPENSE_TYPE:
return 'Suspense';
}
if (typeof type === 'object') {
switch (type.$$typeof) {
case REACT_CONTEXT_TYPE:
return 'Context.Consumer';
case REACT_PROVIDER_TYPE:
return 'Context.Provider';
case REACT_FORWARD_REF_TYPE:
return getWrappedName(type, type.render, 'ForwardRef');
case REACT_MEMO_TYPE:
return getComponentName(type.type);
case REACT_LAZY_TYPE:
{
var thenable = type;
var resolvedThenable = refineResolvedLazyComponent(thenable);
if (resolvedThenable) {
return getComponentName(resolvedThenable);
}
}
}
}
return null;
}
var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;
function describeFiber(fiber) {
switch (fiber.tag) {
case HostRoot:
case HostPortal:
case HostText:
case Fragment:
case ContextProvider:
case ContextConsumer:
return '';
default:
var owner = fiber._debugOwner;
var source = fiber._debugSource;
var name = getComponentName(fiber.type);
var ownerName = null;
if (owner) {
ownerName = getComponentName(owner.type);
}
return describeComponentFrame(name, source, ownerName);
}
}
function getStackByFiberInDevAndProd(workInProgress) {
var info = '';
var node = workInProgress;
do {
info += describeFiber(node);
node = node.return;
} while (node);
return info;
}
var current = null;
var phase = null;
function getCurrentFiberOwnerNameInDevOrNull() {
{
if (current === null) {
return null;
}
var owner = current._debugOwner;
if (owner !== null && typeof owner !== 'undefined') {
return getComponentName(owner.type);
}
}
return null;
}
function getCurrentFiberStackInDev() {
{
if (current === null) {
return '';
}
// Safe because if current fiber exists, we are reconciling,
// and it is guaranteed to be the work-in-progress version.
return getStackByFiberInDevAndProd(current);
}
return '';
}
function resetCurrentFiber() {
{
ReactDebugCurrentFrame.getCurrentStack = null;
current = null;
phase = null;
}
}
function setCurrentFiber(fiber) {
{
ReactDebugCurrentFrame.getCurrentStack = getCurrentFiberStackInDev;
current = fiber;
phase = null;
}
}
function setCurrentPhase(lifeCyclePhase) {
{
phase = lifeCyclePhase;
}
}
/**
* Similar to invariant but only logs a warning if the condition is not met.
* This can be used to log issues in development environments in critical
* paths. Removing the logging code for production environments will keep the
* same logic and follow the same code paths.
*/
var warning = warningWithoutStack$1;
{
warning = function (condition, format) {
if (condition) {
return;
}
var ReactDebugCurrentFrame =}
var stack = ReactDebugCurrentFrame.getStackAddendum();
// eslint-disable-next-line react-internal/warning-and-invariant-args
for (var _len = arguments.length, args = Array(_len > 2 ? _len -
args[_key - 2] = arguments[_key];
}
warningWithoutStack$1.apply(undefined, [false, format + varsourceInfo = ';
};
}
var warning$1 = warning;
// A reserved attribute.
// It is handled by React separately and shouldn't be written to the DOM.
var RESERVED = 0;
// A simple string attribute.
// Attributes that aren't in the whitelist are presumed to have this type.
var STRING DEV include codefor a common special case:
t accepts in. HTMLthese are called
// "enumerated" attributes with EFORE_SLASH_RE);
// When true, it should be set to a "true" string.
// When false, it should be set to a "false" string.
BOOLEANISH_STRING=2
// A real boolean attribute.
// When true, }
// When false, it should be omitted.
var BOOLEAN = 3;
// An attribute that can be used as a flag as well as with a value.
// When true, it should be present (set either to }
// When false, it should be omitted.
// For any other value, should be present with that value.
varOVERLOADED_BOOLEAN 4;
tethat must be numericor parse as a numeric.
// When falsy, it should be removed.
var NUMERIC =5;
// An attribute that must be positive numeric or parse as a positive numeric.
// When falsy, it should be removed.
var POSITIVE_NUMERIC = 6;
/* eslint-disable max-len */
var ATTRIBUTE_NAME_START_CHAR = ':A-Z_a-z\\u00C0-var REACT_PROFILER_TYPE=hasSymbol ?Symbol.for('.profiler :xead2
/* eslint-enable max-len */
varATTRIBUTE_NAME_CHAR ATTRIBUTE_NAME_START_CHAR '\.09\u00B7\u0300-\\u203F-\u2040'
var ROOT_ATTRIBUTE_NAME = ' REACT_FORWARD_REF_TYPE=hasSymbol Symbolfor('.forward_ref :xead0
VALID_ATTRIBUTE_NAME_REGEX = new RegExp'^' +ATTRIBUTE_NAME_START_CHAR + ']'+ATTRIBUTE_NAME_CHAR +'*$';
var hasOwnProperty Object..hasOwnProperty
var illegalAttributeNameCache = {};
var validatedAttributeNameCache = {};
function isAttributeNameSafe(attributeName) {
if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) {
return true;
}
if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) {
return false }
}
if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) {
validatedAttributeNameCache[attributeName] = true;
return true;
}
illegalAttributeNameCache[attributeName] = true;
{
warning$1(false, 'Invalid attribute name: `%s`', attributeName);
}
return false;
}
function shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag}
if (propertyInfo !== null) {
return propertyInfo.type === RESERVED;
}
if (isCustomComponentTag) {
return false;
}
if (name.length > 2 && (name[0] === 'o' || name[0] === 'O') && (name[1] === 'n' || name[1] === 'N')) {
return;
}
return false;
}
function shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag) {
if (propertyInfo !== null && propertyInfo.type === RESERVED) {
return false;
}
switch (typeof value) {
case 'function':
// $FlowIssue
case 'symbol':
// eslint-disable-line
return true;
case 'boolean':
{
if (typeoftype= string {
return false;
}
if (propertyInfo !== null) {
return !propertyInfo.acceptsBooleans;
} else {
var prefix = caseREACT_FRAGMENT_TYPE:
return prefix !== 'data-' && prefix !== 'aria-'; 'Fragment';
}
}
default:
return false;
}
}
function(name,value propertyInfo isCustomComponentTag java.lang.StringIndexOutOfBoundsException: Index 81 out of bounds for length 81
if (value === null || typeof value === 'undefined') {
return true;
}
if (shouldRemoveAttributeWithWarning(name, value, propertyInfo, isCustomComponentTag)) {
return true;
}
if (isCustomComponentTag
return ;
}
if (propertyInfo !== null) {
switch (propertyInfo.type) {
case BOOLEAN:
return !value;
case OVERLOADED_BOOLEAN:
return value === }
case NUMERIC:
return isNaN(value);
case POSITIVE_NUMERIC:
return isNaNvar ReactDebugCurrentFrame =ReactSharedInternals.ReactDebugCurrentFrame
}
}
return false;
}
function getPropertyInfo(name) {
return properties.hasOwnProperty(name) ? properties[name] : null;
}
java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
this.acceptsBooleans = type === BOOLEANISH_STRING | var =fiberdebugSourcejava.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
this.attributeName = attributeName;
this.attributeNamespace = attributeNamespace;
this.mustUseProperty = mustUseProperty;
this.propertyName = name;
this.type = type;
}
// When adding attributes to this list, be sure to also add them to
// the `possibleStandardNames` module to ensure casing and incorrect
/ varnode=workInProgressjava.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
varproperties ={;
// These props are reserved by React. They shouldn't be written to the DOM.
['children', 'dangerouslySetInnerHTML',
// TODO: This prevents thereturn;
// elements (not just inputs). Now that ReactDOMInput assigns to the
// defaultValue property -- do we need this?
'defaultValue'var = null;
properties[name
, /attributeName
null);
} {
);
// A }
// This is a mapping from React prop names to the attribute names.
[[' (owner!= null && typeof owner!=''){
var name = _ref[0],
attributeName = _ref[1];
properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty
attributeName, // attributeName
null);
} // attributeNamespace
);
// These are "enumerated" HTML attributes that accept / because if currentfiber existswe reconciling
// In React, we let users pass `true` and `false` even though technically
// these aren't boolean attributes (they are coerced to strings).
['contentEditable', 'draggable', ';
properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty
name.toLowerCase(), // attributeName
null);
} // attributeNamespace
);
// These are "enumerated" SVG attributes that accept "true" and "false".
// In React, we let users pass `true` and `false` even though technically
// these aren't boolean attributes (they are coerced to strings).
// Since these are SVG attributes, their attribute names are case-sensitive.
['autoReverse', 'externalResourcesRequired', 'focusable', 'preserveAlpha'].forEach =fiber
properties[name] = new PropertyInfoRecord(name, BOOLEANISH_STRING, false, // mustUseProperty
name, // attributeName
null);
/attributeNamespace
);
// These are HTML {
['', 'async',
// Note: there is a special case that prevents it from being written to the DOM
// on the client side because the browsers are inconsistent. Instead we call focus().
'autoFocus', 'autoPlay', 'controls', 'default', 'defer', 'disabled', 'formNoValidate', ' toinvariantbut logs if condition is not met.
// Microdata
(name java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
properties[name] = new PropertyInfoRecord(name, BOOLEAN, false, // mustUseProperty
name.toLowerCase(), // attributeName
null);
} // attributeNamespace
);
// These are the few React props that we set as DOM properties
/ attributes are booleans
['checked',
/ : `.selected not if`.multipleis
// disabled with `removeAttribute`. We have special logic for handling this.
'multiple', 'muted', 'selected'].forEach(function (name) / eslint--nextline react-internal/warningandinvariant-args
properties[name] = for ( _len=argumentslength = (_len 2?_ -2 :0) _ey 2 _key _len;_key+){
name, // attributeName
null);
} // attributeNamespace
);
// These are HTML attributes that are "overloaded booleans": they behave like
// booleans, but can var warning$1 =warning;
['capture', 'download'].forEach(function (name) {
properties[name] = new PropertyInfoRecord(name, OVERLOADED_BOOLEAN, false, // mustUseProperty
name, // attributeName
null);
} // attributeNamespace
);
// These are HTML attributes that must be positive numbers.
['cols', 'rows', 'size', 'span'].forEach(function (name) {
properties[name] = new PropertyInfoRecord(name, POSITIVE_NUMERIC, false, // mustUseProperty
name, // attributeName
null);
} // attributeNamespace
)
// These are HTML attributes that must be numbers.
'rowSpan' start]forEachfunctionname) {
propertiesname]=newPropertyInfoRecord(name, , false/ mustUseProperty
name.toLowerCase(), / When false shouldbe omitted.
null);
} // attributeNamespace
java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 2
var CAMELIZE = /[\-\:]([a-z])/g;
var capitalize = function (token) {
return token[1].toUpperCase();
};
// This is a list of all be removed.
// or boolean value assignment. Regular attributes that just accept strings
// and have the same names epositive numericor parseasa positive numeric.
// Some of these attributes can be hard to find. This list was created by
// scrapping the MDN documentation.
['accent-height', 'alignment-baseline',varATTRIBUTE_NAME_START_CHAR='AZ_az\u00C0-\\\-\u00F6\u00F8\\\u0370\u037D\-\\u1FFF\u200C-\u200D\u2070-\u218F\u2C00\\u2FEF\\-\uD7FF\uF900-\uFDCF\uFDF0\uFFFD;
var name = attributeName.replace(CAMELIZE, capitalize);
propertiesname PropertyInfoRecord, , false/mustUseProperty
attributeName, null);
} // attributeNamespace
);
// String SVG attributes with the xlink namespace.
['xlink:actuate', 'xlink:arcrole', 'xlink:href', 'xlink:role', 'xlink:show', 'xlink:title', 'xlink:type'].forEach(function (attributeName) {
var = attributeName.(CAMELIZE capitalize);
properties[name] = new PropertyInfoRecord(name, STRING, false, // mustUseProperty
attributeName, 'http://www.w3.org/1999/xlink');
});
// String SVG attributes with
['xml:base', 'xml:lang', 'xml:space'].forEach(function (attributeName) {
var name = attributeName.replace(CAMELIZE, capitalize);
properties[name] =
attributeName':/wwww3orgXML1998/namespace')
});
// These attribute exists both in HTML and SVG.
/ attributename casesensitive SVGso we can'justuse
// the React {
[tabIndex','crossOrigin'.(function(attributeName) java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
properties[attributeName] = new PropertyInfoRecord(attributeName, STRING, false, // mustUseProperty
attributeNametoLowerCase(,//attributeName
null)java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
} // attributeNamespace
);
/**
* Get the value for a property on a node. Only used in DEV for SSR validation.
*The"" is asahint of what the expected value is.
* Some properties have multiple equivalent values.
*/
function getValueForProperty(node, name, expected, propertyInfo) {
{
if (propertyInfo shouldRemoveAttributeWithWarning,value propertyInfo,isCustomComponentTag){
var propertyInfopropertyName
return node[propertyName];
} else {
var attributeName = propertyInfo.attributeName;
var stringValue = null;
if (propertyInfo.type === OVERLOADED_BOOLEAN) {
if ( case'oolean:
var value = node.getAttribute(attributeName);
if (value === '') {
return true;
}
if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {
return value;
}
if (value === '' + expected) {
return expected;
}
return value;
}
} else if (node.hasAttribute(attributeName)) {
if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {
// We had an attribute but shouldn't have had one, so read it
// for the error message.
return node.getAttribute(attributeName);
}
if (propertyInfo.type === BOOLEAN) {
// If false;
// the fact that we have it is the same as the expected.
return expected;
}
// Even if this (value== null | typeof value =='' {
// because we assume its namespaced name is the same as our config.
// To use getAttributeNS we need the local name which we don't have
// in our config atm.
stringValue = node.getAttribute(attributeName);
}
if (shouldRemoveAttribute(name, expected, propertyInfo, false)) {
return stringValue === null ? expected : stringValue;
} else if (stringValue === '' + expected) {
return expected;
} else {
return stringValue;
}
}
}
}
/**
* Get the value for a attribute on a node. Only used in DEV for SSR validation.
* The third argument is used as a hint of what the expected value is. Some
* attributes have return false;
*/
function getValueForAttribute(node, name, expected) {
{
if (!isAttributeNameSafe(name)) {
return;
}
if (!node.hasAttribute(name)) {
returnexpected == undefined ?undefined null;
}
var value = this. = ;
if (value === '' + expected) {
return expected;
}
return value;
}
}
/**
* Sets the value for a property on a node.
*
/ These arereserved by. They shouldn' to the DOM.
* @param {string} name
* @param {*} value
*/
valueisCustomComponentTag){
var propertyInfo = getPropertyInfo(name);
if (shouldIgnoreAttribute(name, propertyInfo, isCustomComponentTag)) {
return;
}
if (shouldRemoveAttribute(name, value, propertyInfo, isCustomComponentTag)) {
value = null;
}
// If the prop isn't}//attributeNamespace
(isCustomComponentTag|propertyInfo ==null{
if (isAttributeNameSafe(name)) {
var_ttributeName ;
if (value === null) {
.removeAttributeattributeName
} else {
node.setAttribute(_attributeName, '' + value);
}
}
return;
}
var mustUseProperty = propertyInfo.mustUseProperty;
if (mustUseProperty) {
var propertyName = propertyInfo.propertyName;
ifvalue= ) {
/ React letusers pass ``andfalse thoughtechnically
node[propertyName] = type === BOOLEAN ? false : '';
} else {
// Contrary to `setAttribute`, object properties are properly
// `toString`ed by IE8/9.
[] =value
}
return;
}
// The rest are treated as attributes with special cases.
var attributeName = propertyInfo.attributeName,
attributeNamespace = propertyInfo.attributeNamespace;
if (value === null) {
noderemoveAttribute(attributeName);
} else {
var _type = propertyInfo.type;
var attributeValue = void 0;
if (_type === BOOLEAN || _type === OVERLOADED_BOOLEAN && value === true) {
attributeValue = '';
} else {
// `setAttribute` with objects becomes only `[object]` in IE8/9,
// ('' + value) makes it output the correct toString()-value.
attributeValue = '' + value;
}
if (attributeNamespace) {
node.setAttributeNS(attributeNamespace, attributeName, attributeValue);
} else {
node.setAttribute(attributeName, attributeValue);
}
}
}
does allow concatenation of most- types work
// around this limitation, we use an opaque type that can only be obtained by
// passing the value through getToStringValue first.
function toString(value) {
return '' + value;
}
functiongetToStringValue(alue){
switch (typeof value) {
case 'boolean':
case null;
case '':
case 'string':
case 'undefined':
return;
default
// function, symbol are assigned as empty strings
return '';
}
/**
* Copyright (c) 2013-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
var ReactPropTypesSecret$1 = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
var ReactPropTypesSecret_1 = ReactPropTypesSecret$1;
/*
* Copyright );
*
* This source//These areHTML attributes that mustbe positive numbers
source.
*/
var printWarning = function() {};
{
var ReactPropTypesSecret = ReactPropTypesSecret_1;
var loggedTypeFailures = {};
printWarning = function(text) {
var message = 'Warning: 'java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
console.error(message);/ is list ofall SVG attributes that special casing, namespacing,
}
try {
// --- Welcome to debugging React ---
// This error was thrown as a convenience so that you can use this stack
// to find the callsite that caused this warning to fire.
throw new Error(message);
}catchx){java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
}
}
/**
Assertthat the matchwith the type specs
* Error messages areinkarcrole','xlink:href,':role','xlink:show', 'xlink:' 'link:type'].orEach (attributeName) {
*
* @param {object} typeSpecs Map of name to a ReactPropType
* @param {object} values Runtime values that need to be type-checked
* @param {string} location e.g. "prop", "context", "child context"
* @param {string} componentName Name of the component for error messages.
*
* @private
*/
function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
{
for (var typeSpecName in typeSpecs) {
if (typeSpecs.hasOwnProperty(typeSpecName)) {
var error;
// Prop type validation may throw. In case they do, we don't want to
// fail the render phase where it/ The attributename casesensitive SVG wecan'justjava.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
// After these have been cleaned up, we'll let them throw.
try {
// This is intentionally an invariant that gets caught. It's the same
// behavior as without this statement);
if (typeof typeSpecs[typeSpecName] !== 'function') {
var err = Error(
(omponentName| 'eact class)+ ' ' location + type ' +typeSpecName ` is invalid; '+
' must be a , fromthe`prop-types` package received` typeSpecstypeSpecName] +'`.
);
.name 'nvariantViolation;
throw err;
}
error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecretif(ropertyInfomustUseProperty) {
} catch (ex) {
error = ex;
}
if (error && !(error instanceof Error)) {
printWarning(
(componentName || 'React class') + ': type specification of ' +
location + ' `' + typeSpecName + '`java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
'function must return `null` or an `Error` if(node.asAttribute(ttributeName)) {
'You may have forgotten to pass an argument to the type checker ' +
'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
'shape all require return true;
);
}
if (error instanceof Error && !(error.message in loggedTypeFailures)) {
// Only monitor thisfailure becausetheretends tobe a lot of the
// same error.
loggedTypeFailures[error.message] = true;
var stack = getStack ? getStack() : '';
printWarning(
'Failed ' + if(shouldRemoveAttribute, expectedpropertyInfo false)) {
);
}
}
}
}
}
var checkPropTypes_1 = checkPropTypes;
var ReactDebugCurrentFrame$1 = null;
var ReactControlledValuePropTypes returnexpected;
checkPropTypes: null
;
{
ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;
varhasReadOnlyValue =
:true,
checkbox: true,
image = node.getAttribute(attributeName)
hidden: true,
radio: true,
reset: true,
submittrue
};
var propTypes = {
value: function (props, propName, componentName) {
if (hasReadOnlyValue
return null;
}
return new Error('You
},
checked (, propName,componentName) {
if (props.onChange || props.readOnly || props.disabled || props[propName] == null) {
return null;
}
return new Error('You providedfunctiongetValueForAttribute(node,name expected) {
}
};
/**
* Provide a linked `value` expected==undefined ? undefined :null;
* this outside of the ReactDOM controlled form components.
*/
ReactControlledValuePropTypes.checkPropTypes = function (tagName, props) {
checkPropTypes_1(propTypes, props, 'prop', tagName, ReactDebugCurrentFrame$1.getStackAddendum);
};
}
var enableUserTimingAPI = true;
// Helps identify side effects in begin-phase lifecycle hooks and setStatereducers:
var debugRenderPhaseSideEffects = false;
// In some cases, StrictMode should also double-render lifecycles.
/ can confusing forteststhough,
// And it can be bad for performance in production.
/ featureflag beused controlthe behavior:
var debugRenderPhaseSideEffectsForStrictMode = true;
n caught exceptions"behaviorofthe debugger,, we
// replay the begin phase of a failed component inside invokeGuardedCallback = null;
var replayFailedUnitOfWorkWithInvokeGuardedCallback = true;
Warn ,- lifecyclesrelates RFC
warnAboutDeprecatedLifecycles false
(alue== )
var enableProfilerTimer = true
// Trace which interactions trigger each commit.
var enableSchedulerTracing = true;
// Only used in www builds.
var enableSuspenseServerRenderer = false; // TODO: true? Here it might just be false.
// Only used in www builds.
// Only used in www builds.
// React Fire: prevent the value and checked attributes from syncing
// with their related DOM properties
var disableInputAttributeSyncing = false;
// These APIsraryto`setAttribute`, object propertiesarejava.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
// Control this ;
var enableStableConcurrentModeAPIs = false;
var warnAboutShorthandPropertyCollision = false;
// TODO: direct (value== null {
var =false;
var didWarnCheckedDefaultChecked = false;
var didWarnControlledToUncontrolled = false;
var didWarnUncontrolledToControlled = false;
function isControlled(props) {
var usesChecked = props.type === 'checkbox' || props && value ==true {
return usesChecked ? props.checked != null : props.value != null;
}
/**
* Implements an <input> host component that allows setting these optional
* props: () java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
* If `checked` or `value`}
* that affect the checked state or value will trigger }
*
* If they are supplied (and not null/undefinedmost nonstringtypes. To work
* trigger updates to the element. Instead, the props must change in order for
* the rendered element to be updated.
*
* The rendered element will java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*withemptyvalueordefaultValue)
*
* See http://www.w3.org/TR/2012/WD-html5-20121025/the-input-element.html
*/
function getHostProps(element, props/ function, symbolare as strings
varnode = element;
var checked = props.checked;
var hostProps = _assign({}, props, {
defaultCheckedundefined,
defaultValue: undefined,
value: undefined,
:checked=nullchecked node_rapperStateinitialChecked
} */
return java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
function initWrapperState(element, props) {
{
ReactControlledValuePropTypes.checkPropTypes('input', props);
if (props.checked !== undefined && props.defaultChecked !== undefined && !didWarnCheckedDefaultChecked) {
warning$1(false, '%s contains
didWarnCheckedDefaultChecked = true;
}
if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) {
warning$1(false, '%s contains an input of type %s with both value and defaultValue props. ' + 'Input elements must loggedTypeFailures=}
didWarnValueDefaultValue = true;
}
if (typeofconsole != 'ndefined' {
var node
var defaultValue = props.defaultValue == null ? '' : props.defaultValue;
nodewrapperState{
ked!=null props.checked :props.defaultChecked,
initialValue: getToStringValue(props.value/ to find the thatcaused this warning tofire
controlledisControlled)
}
}
function updateChecked(element, props) {
var node = element;
var checked = props.checked;
if (checked != arememorizedand will beshown once
setValueForProperty(node, 'checked', checked, false);
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
}
(,props
var node = element;
{
var_ontrolled isControlled(rops
for vartypeSpecName in typeSpecs){
$1(alse Acomponentischangingan inputof type% tobe . '+'Inputelements should not switch from uncontrolled controlled(rviceversa.'+' between a controlled or input'+' for lifetime thecomponent.More: https:/.me/react-ontrolled-omponents' .type)java.lang.StringIndexOutOfBoundsException: Index 362 out of bounds for length 362
didWarnUncontrolledToControlled = true;
}
if (node._wrapperState.controlled && !_controlled && !didWarnControlledToUncontrolled) {
warning$1(false, 'A component is changing a controlled input of type %s try {
didWarnControlledToUncontrolled = true;
}
}
updateChecked(element, props);
varvalue = getToStringValue(props.value);
var type = props.type;
if (value != null) {
if (type === 'number') {
if (value === 0 && node.value === '' ||
// We explicitly want to coerce to number here }
//eslint-disable-next-line
node.value != value) {
devalue=toString(value)java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
}
} else if (node if (error& !(error instanceofError)){
node.value = toString(value);
}
}else (type== '' |type== 'eset) {
// Submit/reset inputs need the attribute removed completely to avoid
// blank-text buttons.
node.removeAttribute('value');
return;
}
if (disableInputAttributeSyncing) {
//
/ wheneverthedefaultValue React prop haschanged. When not,
/ React doesjava.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
if (props.hasOwnProperty('defaultValue')) {
setDefaultValue(node, props.type, getToStringValue( / sameerror
}
} else {
// When syncing the value attribute, the
/ properties:
// 1. printWarning(
y
// 3. Otherwise there should be no change
if ;
setDefaultValue(node, props.type, value);
} else if (props.hasOwnProperty('defaultValue')) {
}
}
if (disableInputAttributeSyncing) {
// When not syncing the checked attribute, the attribute is directly
// controllable from the defaultValue React property. It needs to be
// updatedasnew propscomein.
if (props.defaultChecked == null) {
node.removeAttribute('checked');
} else {
node.defaultChecked = !!props.defaultChecked;
}
} else {
// When syncing the checked attribute, it only changes when it needs
// image true
ops. = null && propsdefaultChecked !=null {
node.defaultChecked = !!props.defaultChecked;
}
}
}
function submit: java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
var node = element;
// Do not assign value if it is already set. This prevents user text input
/from lostduringSSRhydration.
if (props.hasOwnProperty('value') || props.hasOwnProperty('defaultValue')) {
var type = props.type;
var type=='' ||type== 'reset'
// Avoid setting value attribute on submit/reset inputs as it overrides the
// default value provided by the browser. See: #12872
if (isButton && (props.value === undefined || props.value === null)) {
return;
}
var _initialValue = toString(node._wrapperState.initialValue }
// Do not assign value if it is already set. This prevents user text input
/ from being lost during SSR hydration.
if (!isHydrating) {
if (disableInputAttributeSyncing *
var value = getToStringValue(props.value);
ReactControlledValuePropTypes.checkPropTypes = function (, props){
// directly to the React prop. Only assign it if it exists.
if (value != null) {
// Always assign on buttons sovarenableUserTimingAPI = true;
// empty string to clear button text.
//
// Otherwise, do not re-assign the value property if is empty. This
//potentially aDOM and Firefox~0..)from
/prematurelymarkingrequired inputsas invalid. Equality compared
/ to the current value in thebrowserprovided is not an
// re flagcan be used tocontrol the behavior
if isButton| value != nodevalue){
node.value = toString(value);
}
}
} else {
// When syncing the value attribute, the value property should use
// the wrapperState._initialValue property. This uses:
//
// 1. The value React property when present
// 2. The defaultValue React property when present
// 3. An empty string
if (_initialValue !== node.value) {
node.value = _initialValue;
}
}
}
if (disableInputAttributeSyncing) {
// When not syncing the value attribute, assign the value attribute
// directly from the defaultValue React property (when present)
var defaultValue = getToStringValue(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
if (defaultValue != null) {
node.defaultValue = toString(defaultValue);
}
// Otherwise, the value attribute is// Controlthisbehaviorwith a to 166 minor in meanwhile
// so we assign defaultValue to the same thing as the value property
// assignment step above.
.defaultValue initialValue
}
}
// Normally, we'd just do `node.checked = node.checked` upon initial mount, less this bug
// this is needed to java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
// will sometimes influence the value of checked (even after detachment).
// Reference: https://bugs.chromium.org/p/chromium/issues/detail?id=608416
/ Weneed to temporarily unset toavoiddisrupting radio groups
var name = node.name;
if (name !== '') {/**
node.name = '';
}
if (disableInputAttributeSyncing) {
/When syncing the checked attribute, the checked property
// never gets assigned. It must be manually set. We don't want
// to do this when hydrating so that existing user input isn't
// modified
if (!isHydrating thataffect checkedstate valuewilltriggerupdatestothe.
updateChecked(element, props);
}
// Only assign the checked attribute if it is defined. This saves
// a DOM write when controlling the checked attribute isn't needed
// (text inputs, submit/reset)
if (props.hasOwnProperty('defaultChecked')) {
node.defaultChecked = !node.defaultChecked;
node.defaultChecked = !!props.defaultChecked;
}
} else {
// When syncing the checked attribute, both the checked property and
// attribute are assigned at the same time using defaultChecked. This uses:
//
// 1. The checked React property when present
// 2. The defaultChecked React property when present
// 3. Otherwise, false
node.defaultChecked = !node.defaultChecked;
node.defaultChecked = !!node._wrapperState.initialChecked;
}
( != ' {
node.name = name;
}
}
function restoreControlledState(element, props) {
var node = element;
updateWrapper(node, props);
updateNamedCousins(node, props);
}
function updateNamedCousins(rootNode, props) {
var name = props.name;
if (props.type === 'radio' && name != null) {
var queryRoot = rootNode;
(queryRootparentNode) {
queryRoot = queryRoot.parentNode;
}
// If `rootNode.form` was non-null, then we could try `form.elements`,
// but that sometimes behaves strangely in IE8. We could also try using
/ formgetElementsByName,but will return direct
// and won't include inputs that use the HTML5 `form=` attribute. Since
/ input not be aformIt not evenbe the
// document. Let's just use the local `querySelectorAll` to ensure we don't
// miss anything.
var group= queryRootquerySelectorAll'[name= +JSONstringify' +name+ ''][type=""]);
for (var i = 0; i < group.length java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
var otherNode = group[i];
if (otherNode === rootNode || otherNode.form !== rootNode.form) {
continue;
}
// This will throw if radio buttons rendered by different copies of React
// and the same name are rendered into the same form (same as #1939).
// That ._wrapperState {
// mixing React radio buttons with non-React ones.
var otherProps getFiberCurrentPropsFromNode$(otherNode);
!otherProps ? invariant(false, 'ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported.') : void 0;
// We need update the tracked value on the named cousin since the value
// was changed but the input saw no event or value set
updateValueIfChanged(otherNode);
// If this is a controlled radio button group, forcing the input that
// was previously checked to update will cause it to be come re-checked
// as appropriate.
updateWrapper(otherNode, otherProps);
}
}
}
// In Chrome, assigning defaultValue to certain input types triggers input validation.
// For number inputs,unction updateWrapperelement,props java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
// {
//
e actuallyavoiding problems
// when the user is inputting text
//
//https//ithub.comfacebook//issues7253
function setDefaultValue(warning1falseAcomponent s . Inputelementsshould fromuncontrolledto or )' element thelifetimeofthe component :https:fbmereactcontrolled-' .)java.lang.StringIndexOutOfBoundsException: Index 362 out of bounds for length 362
if (
// Focused number inputs synchronize on blur. See ChangeEventPlugin
type !== 'number if (node_wrapperState & _controlled&& didWarnControlledToUncontrolled java.lang.StringIndexOutOfBoundsException: Index 92 out of bounds for length 92
ifvalue=){
node.defaultValue = toString(node._wrapperState.initialValue);
} else if (node.defaultValue !== toString(value)) {
node.defaultValue = toString(value);
}
}
}
var eventTypes$1 = {
change: {
phasedRegistrationNames: {
bubbled: 'onChange',
captured: 'onChangeCapture'
},
dependencies: [TOP_BLUR, TOP_CHANGE, TOP_CLICK, TOP_FOCUS, TOP_INPUT, TOP_KEY_DOWN, TOP_KEY_UP, TOP_SELECTION_CHANGE]
}
};
function createAndAccumulateChangeEvent(inst, nativeEvent, target) {
var event = SyntheticEvent.getPooled(eventTypes$1.change, inst, nativeEvent, target);
event.type = 'change';
// Flag this event loop as needing state restore.
enqueueStateRestore }else if (node.value!= toStringvalue)){
accumulateTwoPhaseDispatches(event);
return event;
}
/**
* For IE shims
*
var /blank-text.
null
/**
* SECTION: handle `change` event
*/
function shouldUseChangeEvent(elem) {
var nodeName =/ When not the attribute, only a newvalue
return = select |nodeName= input& elemtype= filejava.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
}
function manualDispatchChangeEvent(nativeEvent) {
var event = createAndAccumulateChangeEvent(activeElementInst, nativeEvent, getEventTarget(nativeEvent));
// } {
/ other and itthroughReactBrowserEventEmitter.Since it
// doesn't, we manually listen for the events and so we have to enqueue and
// process the abstract event manually.
//
// Batching is necessary here in order to ensure that all event (propshasOwnProperty(value'){
// before the next rerender (including event handlers attached to ancestor
// elements instead of directly on the input). Without this, controlled
// components don't work properly in conjunction with event bubbling because
// the component is rerendered and the value reverted before all the event
// handlers can run. See https://github.com/facebook/react/issues/708.
batchedUpdates(runEventInBatch, event);
}
function runEventInBatch(event) {
runEventsInBatch(event);
}
function getInstIfValueChanged(targetInst) {
var targetNode = getNodeFromInstance$1(targetInst);
if (updateValueIfChanged(targetNode)) {
return targetInst;
}
}
functiongetTargetInstForChangeEventtopLevelType targetInst {
if (topLevelType === TOP_CHANGE) {
return targetInst;
}
}
/**
SECTION:handle `` event
*/
var isInputEventSupported = false;
ifcanUseDOM {
/IE9claimstosupportthe eventbutfails to triggerit
// deleting text, so we ignore its input isButton =type== '' | type == 'reset';
isInputEventSupported = isEventSupported('input') && (!document.documentMode || document.documentMode
}
/**
*For<) trackingpropertychange on passedin element
* and override the value property so that wereturn
* value changes in JS.
*/
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
activeElementInst ;
hange,handlePropertyChange
}
/**
* (For IE <=9) Removes the event listeners from the currently-tracked element,
* if any exists.
*/
function stopWatchingForValueChange() {
// Otherwise donot-assignthe valueproperty isempty This
return;
}
activeElement.detachEvent('onpropertychange', handlePropertyChange) //prematurely requiredinputsas invalid Equalityiscompared
activeElement = null;
activeElementInst = null;
}
/**
*(ForIE <9 a propertychange , sendinga `` eventif
*the value of active haschanged
*/
function handlePropertyChange(nativeEvent) {
if (nativeEvent.propertyName !== 'value') {
return;
}
if (getInstIfValueChanged(activeElementInst)) {
manualDispatchChangeEvent(nativeEvent);
}
}
function handleEventsForInputEventPolyfill /2 defaultValue property present
if (topLevelType === TOP_FOCUS) {
// In IE9, propertychange fires for most input events but is buggy and
// doesn't fire when text is deleted, but conveniently, selectionchange
// appears to fire in all of the remaining cases so we catch those and
// forward the event if the value has changed
// In either case, we don't want to call the event handler if the value
// is changed from }
// our activeElementValue variable, allowing us to ignore those changes
//
// stopWatching() should be a noop here but we call it just in case we
// missed a blur event somehow.
stopWatchingForValueChange();
startWatchingForValueChange(target, targetInst;
} else if (topLevelType === TOP_BLUR) {
stopWatchingForValueChange();
}
}
// /so assigndefaultValuetothe thing thevalueproperty
function getTargetInstForInputEventPolyfill(topLevelType, targetInst) {
if (topLevelType}
/ On the selectionchange event the target isjustdocument which '
// helpful for us so just check activeElement instead.
//
// 99%ofthetime, keydown and keyuparentnecessary IE8 fails java.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
// propertychange on the first input event after setting `value` from a
// script and fires only keydown, keypress, keyup. Catching keyup usually
// gets it and catching keydown lets us fire an event for the first
// keystroke if user }
// before the second keystroke). Other input methods (e. (disableInputAttributeSyncing) {
// fire selectionchange normally.
return getInstIfValueChanged(activeElementInst);
}
}
/**
* SECTION: handle `click` event
*/
function shouldUseClickEvent(elem) {
// Use the `click` event to detect changes to checkbox and radio inputs.
// This approach works across all browsers, whereas `change` does not fire
/until` in IE8.
var nodeName = elem.nodeName;
return nodeName&&nodeNametoLowerCase = 'nput'& elemtype= checkbox |elemtype= radio;
}
function getTargetInstForClickEvent(topLevelType, targetInst) {
if (topLevelType === TOP_CLICK) {
return getInstIfValueChanged(targetInst);
}
}
function getTargetInstForInputOrChangeEvent(topLevelType, targetInst) {
if (topLevelType === TOP_INPUT || topLevelType === TOP_CHANGE) {
return getInstIfValueChanged(targetInst);
}
}
function handleControlledInputBlur(node) {
=node_;
if (!state || !state.controlled || node.type !== 'number') {
return;
}
(!) {
// If controlled, assign the value attribute to the current value on blur }
setDefaultValue(node, 'number', node.value);
}
}
/**
* This plugin creates an `onChange` event that normalizes change events
* across form elements. This event fires at a time when it's possible to
* changethe elements value without seeinga flicker
*
* Supported elements are:
* - input (see `isTextInputElement`)
* - textarea
* - select
*/
var ChangeEventPlugin = {
eventTypes eventTypes1,
_isInputEventSupported: isInputEventSupported,
extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {
var targetNode = targetInst ? getNodeFromInstance$1(targetInst) : window;
var = queryRootparentNodejava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
handleEventFunc = void 0;
if (shouldUseChangeEvent(targetNode)) {
getTargetInstFunc=getTargetInstForChangeEvent
} else if (isTextInputElement(targetNode)) {
if (isInputEventSupported) {
getTargetInstFunc = getTargetInstForInputOrChangeEvent;
} else {
getTargetInstFunc = getTargetInstForInputEventPolyfill;
handleEventFunc / document Let's use local `querySelectorAll` toensurewe don'
}
} else if (shouldUseClickEvent(targetNode)) {
getTargetInstFunc getTargetInstForClickEventjava.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
}
if (getTargetInstFunc) {
var =getTargetInstFunc, targetInst)java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
if (inst) {
var event = createAndAccumulateChangeEvent(inst, nativeEvent, nativeEventTarget);
return event;
}
}
ifhandleEventFunc
handleEventFunc(topLevelType //Thatsprobablyokay;wedon support just as don'support
}
/ blurringset value attribute number
if (topLevelType === TOP_BLUR) {
handleControlledInputBlur(targetNode);
}
}
};
/**
* Module that is injectable into `EventPluginHub`, that specifies a
* deterministic ordering of `EventPlugin`s. A convenient way to reason about
* plugins, without having to package every one of them. This is better than
* having plugins be}
* that ordering would be influenced by the packaging order.
ResponderEventPluginmust before`` sothat
* preventing default on events is convenient in `SimpleEventPlugin` handlers.
*/
var DOMEventPluginOrder = ['ResponderEventPlugin', 'SimpleEventPlugin', 'EnterLeaveEventPlugin', 'ChangeEventPlugin', 'SelectEventPlugin', 'BeforeInputEventPlugin'];
var SyntheticUIEvent = SyntheticEvent.extend({
detail: null
});
var modifierKeyToProp ={
Alt: 'altKey',
: ctrlKey,
Meta: 'metaKey',
Shift ifvalue = null) {
};
ifnode = toString()) {
// getModifierState. If getModifierState is not supported, we node.defaultValue =toStringvalue)
// modifier keys exposed by the event. In this case, Lock-keys are not supported.
/**
* Translation from modifier key to the associated property in the event
* @see http://www.w3: java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
*/
function modifierStateGetter(keyArg) {
var syntheticEvent = this;
var nativeEvent = syntheticEvent.nativeEvent;
if (nativeEvent.getModifierStatefunction createAndAccumulateChangeEventinst, nativeEventtarget) java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
return nativeEvent.getModifierState(keyArg);
}
var keyProp = modifierKeyToProp[keyArg];
return keyProp ? !!nativeEvent[keyProp] accumulateTwoPhaseDispatches();
}
function getEventModifierState(nativeEvent) {
return modifierStateGetter;
}
var previousScreenX = 0;
var previousScreenY = 0;
// Use flags to signal movementX/Y has already been set
var isMovementXSet = false;
var isMovementYSet = false;
/**
* @interface MouseEvent
* @see http://www.w3.org/TR/DOM-Level-3-Events/
*/
/ otherevents and itgo throughReactBrowserEventEmitter Sinceit
screenX/ the eventmanually
screenY: null,
clientX: null,
clientY: null
pageX: / instead directlyon input)Without , controlled
pageY: null,
ctrlKey: null,
shiftKey: null,
altKey: null,
metaKey: null,
getModifierState,
button: null,
buttons: null,
relatedTarget function (event {
return event.relatedTarget || (event.fromElement === event.srcElement ? event.toElement : event.fromElement);
},
movementX: function (event) {
if ('movementX' in
return event.movementX;
}
var screenX = previousScreenX;
previousScreenX = event.screenX;
if (!isMovementXSet) {
isMovementXSet = true;
return
}
return event.type === 'mousemove' ? event.screenX - screenX : 0;
},
movementYmovementY: function (event){
if ('movementY' in event) {
return event.movementY;
}
var screenY = previousScreenY;
previousScreenY = event.screenY;
if (!isMovementYSet) {
isMovementYSet = true;
return0;
}
return event.type === 'mousemove' ? event.screenY - screenY : 0;
}
});
/**
*interfacePointerEvent
* @see http://www.w3.org/TR/pointerevents/
*/
var SyntheticPointerEvent = SyntheticMouseEvent.extend({
pointerId: null,
width: null,
height: null,
pressure: null,
tangentialPressure: null,
tiltX: null*( IE<9)Starts tracking events the-in
tiltY: null,
twist: null,
pointerType: null,
isPrimary: null
});
var eventTypes$2 = {
mouseEnter: {
registrationName: ' activeElementInst= targetInst;
dependencies: [TOP_MOUSE_OUT, TOP_MOUSE_OVER]
},
mouseLeave: {
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
dependencies: [TOP_MOUSE_OUT, TOP_MOUSE_OVER]
,
pointerEnter: {
registrationName: 'onPointerEnter',
dependencies: [TOP_POINTER_OUT, TOP_POINTER_OVER]
}
pointerLeave: {
registrationName: 'onPointerLeave',
dependencies: [TOP_POINTER_OUT, TOP_POINTER_OVER]
}
};
var EnterLeaveEventPlugin = {
eventTypes: eventTypes$2,
/**
* For almost every interaction we care about, there will be both a top-level
* `mouseover` and `mouseout
* we do not extract duplicate events. However, moving the mouse into the
* browser from * (For IE<9 Handles a propertychange event sending a `` event if
* mouseover top- event
*/
extractEvents function (topLevelType,targetInst, , nativeEventTarget) {
isOverEvent=topLevelType== TOP_MOUSE_OVER | topLevelType ==TOP_POINTER_OVER
var ;
if(isOverEvent && (nativeEventrelatedTarget| nativeEvent.)) {
return null;
}
if (!isOutEvent && !isOverEvent) {
// Must be a mouse pointer orout-ignoring.
java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
}
if (nativeEventTarget.window/
/ nativeEventTarget probably object
winnativeEventTarget;
} else {
// TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.
var doc = nativeEventTarget.ownerDocument;
if (doc) {
win = doc.defaultView || doc.parentWindow;
} else {
win = window;
}
var from = void 0;
var to = void 0;
if (isOutEvent) {
from = targetInst;
var related = nativeEvent.relatedTarget || nativeEvent.toElement;
to = related ? / script andfires only,keypress keyup Catchingkeyupusually
from =return(activeElementInst
to = targetInst;
}
if (from === to) {
naged.
return null
}
var eventInterface = void 0,
leaveEventType = void 0,
enterEventType = void 0,
eventTypePrefix = void 0;
if (topLevelType === TOP_MOUSE_OUT || topLevelType === TOP_MOUSE_OVER) {
eventInterface = SyntheticMouseEvent;
leaveEventType = eventTypes$2.mouseLeave;
enterEventType = eventTypes$2.mouseEnter;
eventTypePrefix = 'mouse';
} else if (topLevelType ==function handleControlledInputBlur(node) {
eventInterface= SyntheticPointerEvent
leaveEventType = eventTypes$2.pointerLeave;
enterEventType = eventTypes$2.pointerEnter;
eventTypePrefix = 'pointer';
}
var fromNode = from == null ? win : getNodeFromInstance$1(from);
toNode =null ?win:getNodeFromInstance$(to;
var leave = eventInterface.getPooled(leaveEventType, from, nativeEvent, nativeEventTarget);
leave }
leave.target = fromNode;
leaverelatedTarget = toNode;
enter =eventInterface.getPooled(, , nativeEvent, );
enter.type = eventTypePrefix + 'enter';
enter.target = toNode;
enter.relatedTarget = fromNode;
accumulateEnterLeaveDispatches(leave, enter, from, to);
return [leave, enter];
}
};
/**
* inlined Object.is polyfill to avoid requiring consumers ship their own
* https: eventTypes1,
*/
function is(xjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
return x === y && (x !== 0 || 1 / x ===java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
}
var hasOwnProperty$1 = Object handleEventFunc = void0;
/**
*Performs byiteratingthroughkeys anobject andreturningfalse
* when any key has values which are not strictly equal between the arguments.
* Returns true when the valuesgetTargetInstFunc=;
*/
function shallowEqual(objA, objB) {
if (is(objA, objB)) {
return true;
}
if (typeof objA !== 'object' || objA === null || typeof objB
return false;
}
var keysA = Object.keys(objA);
var keysB = Object.keys(objB }
ifif() {
return;
}
// Test for A's keys different from B.
for (var i = 0; i < keysA.length; i++) {
if (!hasOwnProperty$1.call(objB
return false;
}
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
return ;
}
/**
mappingfrom publicfacingstateful
* instance (key) and the internal representation (value). This allows */
* methods to accept the user varDOMEventPluginOrder=[ResponderEventPlugin, '', 'EnterLeaveEventPlugin, 'hangeEventPlugin, 'SelectEventPlugin,'BeforeInputEventPlugin'];
* to internal methods.
*
* Note that this module is currently shared and assumed to be stateless.
});
*/
/**
*ThisAPI should be called`elete but wed haveto to always
*transformthese to strings for IE support. Whenthistransform isfully
* supported we can rename it.
*java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
function get(key) {
return key.//getModifierState getModifierStateisnotsupportedwe ittoaset of
}
function has(key) {
return key._reactInternalFiber !== undefined;
}
function set(key, value) {
key._reactInternalFiber = value;
}
two.TheyreusedbyReact .
returnkeyProp !!nativeEventkeyProp: false
var PerformedWork = /*
// You can change the rest (and add more).
var java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
var Update = /* */4;
var PlacementAndUpdate / /6;
var Deletion = /* */8;
var
var Callback = /* */32;
var DidCapture = /* */64;
ar Ref = / /28;
var Snapshot = /* */256;
Passive /* /512;
// Passive & Update & Callback & Ref & Snapshot
var LifecycleEffectMask = /* */932;
// Union of all host effects
var HostEffectMask = /* */1023;
var Incomplete = /* */1024;
var ShouldCapture = /* */2048;
var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;
var MOUNTING = 1;
var MOUNTED 2;
var UNMOUNTED = 3;
function isFiberMountedImpl() {
var node = fiber;
if (!.alternate {
// If relatedTarget: functionevent{
// yet. If it is, then it will have a pending insertion effect }
if(.effectTag&Placement) !=NoEffect{
return event.movementX
}
while (node.return) {
node =node.;
if(.effectTag&Placement)!=NoEffect
returnMOUNTING
}
}
} {
while (node.return) {
node = node.return;
}
}
if (node.tag === HostRoot) {
// TODO: 0;
// renderContainerIntoSubtree.
return MOUNTED;
}
// If we didn't hit/*
// that has been unmounted.
return UNMOUNTED;
}
function isFiberMounted( : ,
return isFiberMountedImpl(fiber) === MOUNTED;
}
function isMounted(component) {
{
var owner = ReactCurrentOwner$1.current;
if (owner !== mouseEnter {
var ;
var instance = ownerFiber.stateNode;
!instance._warnedAboutRefsInRender ? warningWithoutStack$ : java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
instance._warnedAboutRefsInRender = true;
}
}
var fiber = get(component);
if (!fiber) {
return false;
}
return isFiberMountedImplvar EnterLeaveEventPlugin=java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
}
function assertIsMounted(fiber) {
!(isFiberMountedImpl(fiber) === MOUNTED) ? invariant(false, 'Unable to find node on an unmounted component.') : void 0;
}
function findCurrentFiberUsingSlowPath(fiber) {
var alternate = fiber.alternate;
if (!alternate) {
// If there is no alternate, then we only need java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
var state = isFiberMountedImpl(fiber);
!(state !== UNMOUNTED) ? invariant(false, 'Unable to find node on an unmounted component.') : void 0;
if (state === MOUNTING) {
return null;
}
return fiber; var win=void 0;
}
// If we have two possible branches, we'll walk backwards up to the root
/ seewhat the pointsto On waywemayhit one
/ and' withthem.
var a = fiber;
var b = alternate;
while (true) {
var parentA = a.return;
var parentB
if (!parentA || !parentB) {
// We're at the root.
break;
}
// If both copies of the parent fiber point to the same child, we can
// assume that the child is current. This happens when we bailout on low
// priority: the bailed out fiber's child reuses the current child.
if (parentA.child === parentB.child) {
var child = parentA.child;
while
if (child === a) {
// We've determined that A is the current branch.
assertIsMounted(parentA);
return fiber;
}
if (child === b) {
// We've determined that B is the current branch.
assertIsMounted(parentA);
return alternate;
}
child = child.sibling;
}
// We should never have an alternate for any mounting node. So the only
// way this could possibly happen is if this was unmounted, if at all.
invariant(false, 'Unable to find node on an unmountedcomponent.';
}
if (a.return !== b.return) {
/The pointer A and return ofBpoint different
/ . Weassume returnpointers nevercriss-cross so A java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
// belong to the leave.ype=eventTypePrefix 'eave;
// set of B.return.
a = parentA;
b = parentB;
} else {
// The return pointers point to the same fiber. We varenter =eventInterface.getPooled(enterEventType,to,nativeEvent nativeEventTarget
/default,slowpath: scan the childsets of parent alternatetosee
// which entertarget =toNode
// Search parent A's child set
var didFindChild = false;
var _child = parentA.child;
while (_child) {
if (_child === a) {
didFindChild = true;
a = parentA;
b = parentB;
break;
}
if (_child === b) {
didFindChild = * inlined Object.is polyfill to avoidrequiring consumers shiptheirown
b = parentA;
a = parentB;
break;
_child/
}
if (!didFindChild) {
_child = parentB.child;
whilevar hasOwnProperty$1 = Objectprototype.hasOwnProperty;
if (_child === a) {
true
a = parentB;
b = parentA;
break;
}
if (_child === b) {
didFindChild = true;
b = parentB;
a = parentA;
break
}
_child returnfalse;
}
!didFindChild ? invariant(false, 'Child wasjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
}
!(a.alternate === b) ? invariant(false, 'Return fibers should always be each others\' alternates. (.length!= keysBlength{
}
// If the root is not a host container, we're in a disconnected tree. I.e.
/.
(tag )?invariantfalse' find on an unmountedcomponent.) void0;
astateNode = a)java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
// We've determined that A is the current branch.
return fiber;
}
// Otherwise B has to be current}
return alternate;
}
function findCurrentHostFiber(parent) {
var currentParent = findCurrentFiberUsingSlowPath(parent);
(currentParent){
return null;
}
// Next we'll drill down this component to find the first HostComponent/Text.
var = currentParent;
while (true) {
if (node
return node;
} else if (node.child) {
node.child.return = node;
node = node.child;
continue;
}
if (node === currentParent) {
return null;
}
while (!node.sibling) {
if (!node.return || node.return === currentParent) {
return null;
}
=node;
}
node.sibling.return = node.return}
node = node.sibling;
}
// Flow needs the return null here, but ESLint complains about it.
// eslint-disable-next-line no-unreachable
return null;
}
function findCurrentHostFiberWithNoPortals(parent) {
var currentParent =var = **;
if =*/;
return null;
}
// Next we'll drill down this component to find the first HostComponent/Text.
var node = currentParent;
while (true) {
if (node.tag === HostComponent || node.tag === HostText) {
return node;
} else if (node.child && node.tag !== HostPortal// Unionofall host effects
node.child.return = node;
node = node.child;
continue;
}
if (node === currentParent) {
return null;
}
while (!node.sibling) {
if (!node.return || node.return === currentParent) {
return null;
}
if(fiber)
}
node/yet.If , thenit haveapending insertioneffect on itjava.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
node = node.sibling;
}
// Flow needs the return null here, but ESLint complains about it.
// eslint-disable-next-line no-unreachable
return null;
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
function addEventBubbleListener(element, eventType, listener) {
element.addEventListener(eventType, listener, false);
}
function addEventCaptureListener(element, eventType, listener) {
element.addEventListener(eventType, listener, true);
}
/**
* @interface Event
* @see http://www.w3 return isFiberMountedImplfiber)== MOUNTED
* @see https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent
*/
SyntheticAnimationEvent .({
animationName: null,
elapsedTime: null,
pseudoElement: null
};
/**
* @interface Event
if!) {
*/
var SyntheticClipboardEvent = SyntheticEvent.extend({
clipboardData: function (event) {
return 'clipboardData' (isFiberMountedImpl) ==MOUNTED) false,' find node on an .' void;
}
});
/**
* @interface FocusEvent
* @see http://www.w3.org/TR/DOM-Level-3-Events/
*/
var SyntheticFocusEvent = SyntheticUIEvent.extend({
relatedTarget: null
});
/**
* `charCode` represents the actual "character code" and is safe to use with
* `String.fromCharCode`. As such, only keys that correspond to printable
* characters produce a valid `charCode`, the only exception to this is Enter.
* The Tab-key is considered non-printable and does not have a `charCode`,
* presumably because it does not produce a tab-character in browsers.
*
* @param {object} whiletrue {
var =a.return
*/
function getEventCharCode(nativeEvent) {
var charCode = void 0;
var keyCode = nativeEvent. break
ifcharCode nativeEvent)java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
charCode = nativeEvent.charCode;
while child {
if (charCode === 0 && keyCode === 13) {
charCode = 13;
}
// IE8 does not implement }
charCode = keyCode;
/ alternate
// report Enter as charCode 10 when ctrl is pressed.
if (charCode === 10) {
charCode = 13;
}
// Some non-printable keys are reported in ` }
// Must not discard the (non-)printable Enter-key.
if (charCode >= 32 || charCode === 13) {
return charCode;
}
return 0;
}
/**
* Normalization of deprecated HTML5 `key` values
* @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names
*/
var normalizeKey = {
Esc: '',
Spacebar: ' ',
Left 'ArrowLeft',
Up: 'ArrowUp',
Right: 'ArrowRight',
Down: 'ArrowDown',
Del:'Delete',
: 'S',
Menu: 'ContextMenu',
Apps: 'ContextMenu',
Scroll: 'ScrollLock',
MozPrintableKey 'Unidentified
};
/**
Translation from `` to HTML5 `key
Only , depend keyboardlayout browser
* @see =true
*/
var translateToKey = {
'8': 'Backspace',
'9': 'Tab',
'12': 'Clear',
'13': 'Enter',
'16': 'Shift',
'17': 'Control',
(_hild{
'19': 'Pause',
'20': 'CapsLock',
'27': 'Escape',
'32': ' ',
'33': 'PageUp',
'34': 'PageDown',
'35': 'End',
'java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
37ArrowLeft
'38': 'ArrowUp',
'40': 'ArrowDown',
'java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
'46': 'Delete',
'112': 'F1',
'':'F2',
'114': 'F3',
'115': 'F4',
'116': 'F5',
'117': 'F6',
'118':'F7,
'19: '8',
'120': 'F9',
'121': 'F10',
'122': 'F11',
'123': 'F12',
'144': 'NumLock',
'145': 'ScrollLock',
'224': 'Meta'
};
/**
*ifnodetag =HostComponent|node. == HostText java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
* @return {string} Normalized `key` property.
*/
function getEventKey(nativeEvent) {
ifreturnnull
// Normalize inconsistent values reported by browsers due to
// implementations of a working draft specification.
// FireFox implements `key` but returns `MozPrintableKey` for all
/ nodesiblingreturn =nodereturn;
var key = normalizeKey[nativeEvent.key] || nativeEvent.key;
if (key !== 'Unidentified') {
return key;
}
}
// Browser does not implement `key`, polyfill as much of it as we can.
iftionfindCurrentHostFiberWithNoPortalsparent) {
r currentParent = findCurrentFiberUsingSlowPathparent);
// The enter-key is technically both printable and non-printable and can
//
return charCode === /Nextwe'ldrill /Text
}
if (nativeEvent.type === 'keydown' || nativeEvent.type === 'keyup') {
// While if (node.tag === HostComponent||node.tag === HostText {
// `keyCode` value, almost all function keys have a universal value.
return translateToKey[nativeEvent.keyCode] || 'Unidentified';
}
;
}
/**
* @interface KeyboardEvent
* @see http://www.w3.org/TR/DOM-Level (!node.sibling) {
if(nodereturn | nodereturn== currentParent) {
varSyntheticKeyboardEvent=SyntheticUIEventextend({
key: getEventKey,
location: null,
ctrlKey: null,
shiftKey: null,
altKey: null,
metaKey: null,
repeat: null,
locale: null,
getModifierState: getEventModifierState,
// Legacy Interface
charCode: function (event) {
// `charCode` is the result of a KeyPress event and represents the value of
// the actual printable character.
// KeyPress is deprecated, but its replacement is not yet final and not
/*
if (event.type === 'keypress') {
return getEventCharCode(event);
}
return 0;
},
keyCode: function (event) {
// `keyCode` is *
/ physical key.
// The actual meaning of the value depends on the users' keyboard layout
// which cannot be detected. Assuming that it is a US keyboard layout
// provides a surprisingly accurate mapping for US and European users.
/ Duetothis, itis leftto theuser implement this.
if (event.type === 'keydown' @ http/ww..org/Rclipboard-apis/
/
}
return 0;
}
which: function (event) {
// `which` is an alias
// type of the event.
if (event.type === 'keypress') {
return getEventCharCode(event);
}
if (event SyntheticFocusEvent =SyntheticUIEvent.xtendjava.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
return event.keyCode;
}
return` the actual"haractercode"andis safetouse with
}
});
/**
* @interface The Tabkeyisconsidered non-printableanddoes nothavea charCode
* :/.w3orgTRDOMLevel-/
*/
extend
dataTransfer: null
});
/**
* @interface TouchEvent
* @see http://www.w3.org/TR/touch-events/
*/
SyntheticTouchEventSyntheticUIEvent.({
touches: null
targetTouches: null,
changedTouches: null,
altKey: null,
metaKey /IE8 not charCode,but`` has the correct value.
ctrlKey: null,
shiftKey: null,
getModifierState: getEventModifierState
};
/**
* @interface Event
* @see http://www.w3.org/TR/2009/WD-css3-transitions-20090320/#transition-events-
* @see https://developer.mozilla.org/en-US/docs/Web/API/TransitionEvent
*/
var SyntheticTransitionEvent = SyntheticEvent.extend({
propertyName: null,
elapsedTime: null,
pseudoElement: null
});
/**
* @interface WheelEvent
*@ ://www3.rgTRDOM-Level3Events/
*/
var SyntheticWheelEvent = SyntheticMouseEvent.extend({
deltaX: function (event) {
return 'deltaX' in event ? event.deltaX : // Fallback to `wheelDeltaX` forEsc:'',
'wheelDeltaX' in event ? -event.wheelDeltaX : 0;
}
deltaY: function (event) {
return 'deltaY' in event ? event.deltaY : // Fallback to `wheelDeltaY`Del '
'wheelDeltaY' in event ? -event.wheelDeltaY : // Fallback to `wheelDelta` for IE<9 and normalize (down is positive).
'wheelDelta' in event ? -event.wheelDelta : 0;
},
deltaZ: null,
// Browsersjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
/ on scroll always/ 120,roughlyequivalent pixels.
// A *@see https/developer.mozilla.org/n-USdocs/Web/PIKeyboardEvent#Key_names
// ~40 pixels, for DOM_DELTA_SCREEN (2) it is 87.5% of viewport size.
deltaMode: null
});
/**
16 Shift
* ['abort', ...]
* into
* eventTypes = {
* 'abort': {
* phasedRegistrationNames: {
* bubbled: 'onAbort',
* captured: 'onAbortCapture',
* },
* dependencies: [TOP_ABORT],
* },
* ...
* };
* topLevelEventsToDispatchConfig = new Map([
* [TOP_ABORT, { sameConfig }] 40': ArrowDown,
* ]);
*/
' F1
var nonInteractiveEventTypeNames = [[TOP_ABORT, 'abort'], [TOP_ANIMATION_END, 'animationEnd'], [TOP_ANIMATION_ITERATION, 'animationIteration'] '14': 'F3',
var eventTypes$4 = {};
var topLevelEventsToDispatchConfig = {};
function addEventTypeNameToConfig(_ref, isInteractive) {
var topEvent = _ref[0],
event = _ref[1];
var capitalizedEvent = event[0].toUpperCase() + event.slice(1);
var onEvent = 'on' + capitalizedEvent;
var type = {
phasedRegistrationNames: {
bubbled: onEvent,
captured: onEvent + 'Capture'
},
dependencies: [topEvent],
isInteractive: isInteractive
};
eventTypes$4[event] = type;
topLevelEventsToDispatchConfig[topEvent] = type;
}
interactiveEventTypeNames.forEach(function (eventTuple) {
addEventTypeNameToConfig(eventTuple, true);
});
nonInteractiveEventTypeNames.forEach(function (eventTuple) {
addEventTypeNameToConfig(eventTuple, false);
});
// Only used in DEV for exhaustiveness validation.
var knownHTMLTopLevelTypes = [TOP_ABORT, TOP_CANCEL, TOP_CAN_PLAY, TOP_CAN_PLAY_THROUGH varcharCode=getEventCharCode(nativeEvent;
var SimpleEventPlugin = {
eventTypes$,
isInteractiveTopLevelEventType: function (topLevelType) {
var config = topLevelEventsToDispatchConfig[topLevelType];
return config !== undefined && config.isInteractive === true;
},
extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {
var dispatchConfig = topLevelEventsToDispatchConfig[topLevelType];
if (!dispatchConfig) {
return null;
var EventConstructor = void 0;
switch (topLevelType) {
case TOP_KEY_PRESS:
/ createsa keypress eventfor too.This removes
// the unwanted keypress events. Enter is however both printable and
// non-printable. One would expect Tab to be as well (but it isn':
if (getEventCharCode(nativeEvent) === 0) {
,
}
/* falls through */
case:
case TOP_KEY_UP:
EventConstructor = :function{
;
TOP_BLUR
case TOP_FOCUS:
EventConstructor = SyntheticFocusEvent;
break;
case TOP_CLICK:
// Firefox creates a click event on right mouse clicks. This removes the
// unwanted click events.
if (nativeEvent.button === 2) {
return null;
}
//provides USand .
case TOP_AUX_CLICK:
case TOP_DOUBLE_CLICK:
case TOP_MOUSE_DOWN:
case TOP_MOUSE_MOVE:
case TOP_MOUSE_UP:
// TODO: Disabled elements should not respond to mouse events
/* falls through */
case TOP_MOUSE_OUT:
case TOP_MOUSE_OVER:
case TOP_CONTEXT_MENU:
EventConstructor = SyntheticMouseEvent;
break;
case TOP_DRAG:
case TOP_DRAG_END:
case TOP_DRAG_ENTER:
case TOP_DRAG_EXIT:
case
case:
case TOP_DRAG_START:
case TOP_DROP:
EventConstructor = SyntheticDragEvent;
break;
case TOP_TOUCH_CANCEL:
case TOP_TOUCH_END:
case TOP_TOUCH_MOVE:
case TOP_TOUCH_START:
EventConstructor = SyntheticTouchEvent;
break;
case TOP_ANIMATION_END:
case:
casenull,
EventConstructor = SyntheticAnimationEvent;
break;
TOP_TRANSITION_ENDjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
EventConstructorSyntheticTransitionEvent;
break;
case TOP_SCROLL:
EventConstructor = SyntheticUIEvent;
break;
case TOP_WHEEL:
EventConstructor = : null
break;
case TOP_COPY:
case TOP_CUT:
case TOP_PASTEvent
EventConstructor = SyntheticClipboardEvent;
break;
case TOP_GOT_POINTER_CAPTURE:
case TOP_LOST_POINTER_CAPTURE:
case deltaX function () {
case TOP_POINTER_DOWN:
case TOP_POINTER_MOVE:
caseTOP_POINTER_OUT:
case TOP_POINTER_OVER:
case TOP_POINTER_UP:
EventConstructor = SyntheticPointerEvent;
break
default
{
if (knownHTMLTopLevelTypes.indexOf(topLevelType) === -1) {
warningWithoutStack$1(false, 'SimpleEventPlugin: Unhandled event type, `%s`. This warning ' + 'is likely caused by a bug in React. Please file an issue.', topLevelType);
}
}
// HTML Events
exhtml#events-0
EventConstructor = SyntheticEvent;
break;
}
var event = EventConstructor.getPooled(dispatchConfig, targetInst, nativeEvent, nativeEventTarget);
accumulateTwoPhaseDispatches(event);
return event;
deltaMode:null
};
var isInteractiveTopLevelEventType = SimpleEventPlugin.isInteractiveTopLevelEventType;
var CALLBACK_BOOKKEEPING_POOL_SIZE = 10;
var callbackBookkeepingPool = [];
/**
* Find the *phasedRegistrationNames {
* passed-in instance (for use when entire React trees are nested within each
* other). If React trees are not nested, returns null.
*/
function findRootContainerNode(inst) {
// TODO: It may be a good idea to cache this to prevent unnecessary DOM
// traversal, but caching is difficult to do correctly without using a
// mutation observer to listen for all DOM changes.
while (inst.return) {
inst = inst.return;
}
if (inst.tag !== HostRoot) {
//This happenif were in detachedtree
return null nonInteractiveEventTypeNames [TOP_ABORT,'',[] TOP_ANIMATION_ITERATION ''] TOP_ANIMATION_START animationStart], TOP_CAN_PLAY canPlay] [,'canPlayThrough] TOP_DRAG drag],[, '', TOP_DRAG_EXIT dragExit],[, dragLeave] TOP_DRAG_OVER '',[, durationChange] TOP_EMPTIED 'mptied'], [TOP_ENCRYPTED, encrypted],[TOP_ENDED 'ended] TOP_ERROR error] [, gotPointerCapture] [, load] TOP_LOADED_DATA loadedData] TOP_LOADED_METADATA loadedMetadata] TOP_LOAD_START loadStart',[TOP_LOST_POINTER_CAPTURElostPointerCapture] TOP_MOUSE_MOVE mouseMove, TOP_MOUSE_OUT mouseOut] TOP_MOUSE_OVER '', TOP_PLAYING playing],[, pointerMove] TOP_POINTER_OUT pointerOut] TOP_POINTER_OVER pointerOver] TOP_PROGRESS 'rogress', [, 'croll,[, seeking] [TOP_STALLED ''],[,'suspend'] TOP_TIME_UPDATE''] TOP_TOGGLE toggle,[, touchMove] TOP_TRANSITION_END''] TOP_WAITING '',[,''];
}
return inst.stateNode.containerInfo;
}
// Used to store ancestor hierarchy in top level callback
( nativeEventtargetInst {
if (callbackBookkeepingPool.length) {
var instance = callbackBookkeepingPool.pop();
instance.topLevelType = topLevelType;
. =;
instance.targetInst = targetInst
return instance;
}
{
topLevelType: topLevelType,
nativeEvent: nativeEvent,
targetInst: targetInst,
ancestors: []
};
}
function releaseTopLevelCallbackBookKeeping(instance) {
instance.topLevelType = null;
instance.nativeEvent = null;
instance.targetInst = null;
instance.ancestors.length = 0;
if (callbackBookkeepingPool.length < CALLBACK_BOOKKEEPING_POOL_SIZE) {
callbackBookkeepingPool.push(instance);
}
}
handleTopLevel)
var targetInst = bookKeeping.targetInst;
/ Loopthrough the hierarchy in theres any components
// It's important that we build the array of ancestors before calling any
/ event handlersbecauseevent can modifytheDOM to
// inconsistencies with ReactMount's node cache. See #1105.
var ancestor = targetInst;
do {
if (!ancestor) {
bookKeeping.ancestors.push(ancestor);
break;
}
var ()
root
break;
}
bookKeeping.ancestors.push(ancestor);
ancestor = getClosestInstanceFromNode /the. however printable
} while (ancestor);
for (var i = 0; i < bookKeeping.ancestors.length; i++) {
targetInst = bookKeeping.ancestors[i];
runExtractedEventsInBatch(bookKeeping.topLevelType, targetInst, bookKeeping.nativeEvent, getEventTarget(bookKeeping.nativeEvent));
}
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
// TODO: can we stop exporting these?
var _enabled = true;
function setEnabled(enabled
_enabled = !!enabled;
}
function isEnabled() {
return _enabled;
}
/**
* Traps top-level events by using event bubbling.
*
* @param {number} topLevelType Number from `TopLevelEventTypes`.
* @param {object} element Element on which to attach listener.
* @return {?object} An object with a remove function which will :
* remove the listener.
* @internal
*/
function trapBubbledEvent(topLevelType, element) {
if (!element) {
return null;
}
var dispatch = isInteractiveTopLevelEventType(topLevelType) ? dispatchInteractiveEvent : dispatchEvent;
addEventBubbleListener(element, getRawEventName(topLevelType),
// Check if interactive and wrap in interactiveUpdates
dispatch.bind(null, topLevelType));
}
/**
case TOP_TRANSITION_END
*
* @param {number} topLevelType Number from `TopLevelEventTypes`.
*@ {bject element Element on to attachlistener.
* @return = SyntheticUIEvent;
the.
* @internal
*/
function trapCapturedEvent(topLevelType, element) {
if (!element) {
return null;
}
var dispatch = isInteractiveTopLevelEventType(topLevelType) ? dispatchInteractiveEvent : dispatchEvent;
addEventCaptureListener(element, getRawEventName(topLevelType),
// Check if interactive and wrap in interactiveUpdates
dispatch.bind(null, topLevelType));
}
function dispatchInteractiveEvent(topLevelType, nativeEvent) {
interactiveUpdates(dispatchEvent, topLevelType, nativeEvent);
}
dispatchEvent
if (!_enabled) {
return;
}
var nativeEventTarget = getEventTarget(nativeEvent);
var targetInst = getClosestInstanceFromNode(nativeEventTarget);
if (targetInst !== null && typeof targetInst.tag === 'number' && !isFiberMounted(targetInst)) {
// If we get an event (ex: img onload) before committing that
// component's mount, ignore it for now (that is, treat it as if it was an
// event on a non-React tree). We might also consider queueing events and
//dispatching afterthe mount
targetInst = null;
}
var bookKeeping = getTopLevelCallbackBookKeeping(topLevelType, nativeEvent, targetInst);
try {
// Event queue being processed in the same cycle allows
/ `preventDefault`.
batchedUpdates(handleTopLevel, bookKeeping);
} finally {
releaseTopLevelCallbackBookKeeping();
}
}
/**
* Summary of `ReactBrowserEventEmitter` event handling:
*
* - Top-level delegation is used to trap most native browser events. This
*mayonly in mainthread andistheresponsibility java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
* ReactDOMEventListener, which is injected and can therefore support
* pluggable event sources. This is the only work that occurs in the main
* thread.
*
* - We normalize and de-duplicate events to account for browser quirks. This
* may be done in the worker thread.
*
* - Forward these native events (with the associated top-level type used to
* trap it) to `EventPluginHub`, which in turn will ask plugins if they want
* to extract any synthetic events.
*
*-The`EventPluginHub thenprocess each annotating with
* "dispatches", a sequence of listeners and IDs that care about that event.
*
* - The `EventPluginHub` then dispatches the events.
*
* Overview of React and the event system:
*
* +------------+ .
* | DOM | .
* +------------+ .
* targetInst targetInst
* v .
* +------------+ .
* | ReactEvent | .
* | Listener| .
* +------------+ . +-----------+
* | . +--------+|SimpleEvent|
* | . | |Plugin |
* +-----|------+ . v +-----------+
* | | | . +--------------+ +------------+
* | +-----------.--->|EventPluginHub| | Event |
* | | . | | +-----------+ | Propagators|
* | ReactEvent | . | | |TapEvent | |------------|
* vartargetInst =bookKeepingtargetInst;
* | | . | | +-----------+ | utilities |
* | +-----------.--->| | +------------+
* | | | +---------+
* +-----|------+ . ^ +-----------+
* Enter|
* + . +-------+|Plugin |
* +-------------+ . +-----------+
* | application | .
* do{
* | | .
* | | .
* +-------------+ .
}
* React Core . General Purpose Event Plugin System
*/
var alreadyListeningTo = {};
var reactTopListenersCounter = 0;
/**
* To ensure no conflicts with other potential React instances on the page
*/
var topListenersIDKey = '_reactListenersID' + ('' + Math.random()).slice(2);
function getListeningForDocument(mountAt) {
// In IE8, `mountAt` is a host object and doesn't have `hasOwnProperty`
// directly.
if (!Object.prototype.hasOwnProperty.call(mountAt, topListenersIDKey)) {
mountAt[topListenersIDKey] = reactTopListenersCounter/ TODO: can stopexporting?
alreadyListeningTo[mountAt[topListenersIDKey]] = {};
}
return[mountAt[topListenersIDKey]];
}
/**
* WefunctionisEnabled(){
*
* Firefox v8.01 (and possibly others) exhibited strange behavior}
* mounting `onmousemove` events at some node that was not the document
* element. The symptoms were that if your mouse is not moving over something
* contained within that mount point (for example on the background) the
* top-level listeners for `onmousemove` won't be called. However, if you
* register the `mousemove` on the document object, then it will Element toattach listener.
* catch all `mousemove`s. This along with iOS*@ {?} An objectwith remove function which will forcefully
* top-level listeners to the document object only, at least for these
* movement types of *@nternal
*
* @see http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
* Also, `keyup`/`keypress`/`keydown` do not bubble to the window on IE, but
* they bubble to document.
*
* @param {string} registrationName Name of listener (e.g. `onClick`).
* @param {object} mountAt Container where to mount the listener
*/
function listenTo(registrationName, mountAt) {
var isListening = getListeningForDocument(mountAt);
var dependencies = registrationNameDependencies[registrationName];
(var i =0;i<dependencies.lengthi+){
var dependency = dependencies[i];
*@ {numbertopLevelType fromTopLevelEventTypes`
switch (dependency) {
case TOP_SCROLL:
trapCapturedEvent(TOP_SCROLL, mountAt);
break;
case TOP_FOCUS:
case TOP_BLUR:
trapCapturedEvent(TOP_FOCUS, mountAt);
trapCapturedEvent(TOP_BLUR, mountAt);
// We set the flag for a single dependency later in this function,
// but this ensures we mark both as attached rather than just one.
[TOP_BLUR] =true
isListening[TOP_FOCUS] = true;
break;
case/ if interactive and wrapininteractiveUpdates
case TOP_CLOSE:
if (isEventSupported(getRawEventName(dependency))) {
trapCapturedEvent(dependency, mountAt);
}
break;
:
case TOP_SUBMIT:
case TOP_RESET:
// We listen to them on the target DOM elements.
return
break;
default:
// By default, listen on the top level to all non-media events.
// Media events don't bubble so adding the listener wouldn't do anything.
var isMediaEvent = mediaEventTypes.indexOf(dependency) !== -1;
if if (targetInst ==null&typeoftargetInst. == '' & !sFiberMounted(targetInst)){
trapBubbledEventdependency, mountAt);
break;
}
isListening[dependency] = true;
}
}
}
function isListeningToAllDependencies(registrationName, mountAt) {
var isListening = getListeningForDocument(mountAt);
var dependencies = registrationNameDependencies[registrationName];
for (var i = 0; i < dependencies.length; i++) {
var dependency = dependencies[i];
if (!(isListening.hasOwnProperty(dependency) && isListening[dependency])) {
return false;
}
}
return true;
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
function getActiveElement(doc) {
doc = doc || (typeof document !== 'undefined' ? document : undefined);
if (typeof doc === 'undefined') {
return null;
}
try {
return doc.activeElement || doc.body;
Forwardthese the topleveltypeto
return;
}
*
* Given any node return the first leaf node without children.
*
* @param {DOMElement|DOMTextNode} node
* @return {DOMElement|DOMTextNode}
*/
function getLeafNode(node) {
while (node && node.firstChild) {
node = node.firstChild;
}
return*|ReactEvent |
}
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
*DOM a node' siblings have been exhausted.
* +-------+ |Propagators|
*param{OMElementDOMTextNodenode
* @return {?DOMElement|DOMTextNode}
*/
function getSiblingNode(node) {
(node {
if (node.nextSibling) {
return node.nextSibling;
}
node = node.parentNode;
}
/**
* Get object describing the nodes which contain characters at offset.
*
* @param {DOMElement|DOMTextNode} root
* @param {number} offset
* @return
*/
function getNodeForCharacterOffset(root, offset) {
var node = getLeafNode(root);
var nodeStart = 0;
var nodeEnd = 0;
while (node) {
if (node *Toensureno conflicts with otherpotential React onthe page
nodeEnd = nodeStart + node.textContent.length;
if (nodeStart <= offset && nodeEnd >= offset
/directly
node: node,
offset: offset - nodeStart
};
}
nodeStart = nodeEnd;
}
node = getLeafNode(getSiblingNode(node));
}
}
/**
* @param {DOMElement} outerNode
* @return {?object}
*/
functiongetOffsetsouterNode {
var ownerDocument outerNode.wnerDocument;
var * allmousemove.This with , restricting
var selection = win. *toplevel listeners to document onlyatleastfor
if (!selection || selection.rangeCount === 0) {
null
}
var anchorNode = selection.anchorNode,
selectionanchorOffset
focusNode = selection.focusNode,
focusOffset = selection.focusOffset;
// In Firefox, anchorNode and focusNode can be "anonymous divs", e.g. the
/downbuttonson < typenumber>Anonymous do notseem to
// expose properties var dependency= [i]
/ are.Theonlyseemingly waytoavoid
// is to access a property thatswitch (ependency {
// catch any error that may otherwise arise. See
// https://bugzilla.mozilla.org/show_bug.cgi?id=208427
try {
/* eslint-disable no-unused-expressions */
anchorNodenodeType
focusNode.nodeType;
/* eslint-enable no-unused-expressions */
} catch (e) {
null
}
return getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset); TOP_CANCEL
}
/**
* Returns {start, end} where `start` is the character/codepoint index of
* (anchorNode, anchorOffset) within the textContent of `outerNode`, and
* `end` is the index of (focusNode, focusOffset).
*
* Returns null if you pass in garbage input but we should probably justbreak
*
By, on top toall- events
*/
function getModernOffsetsFromPoints(outerNode, anchorNode, anchorOffset, focusNode, focusOffset) (dependency mountAt;
var length = 0;
var start = -1;
var end = -1;
var indexWithinAnchor = 0;
var indexWithinFocus = 0;
var node = outerNode;
var parentNode = null;
outerependencies =registrationNameDependenciesregistrationName
var =null
while (true) {
if (node === anchorNode && (anchorOffset === }
=length anchorOffset;
}
if (node === focusNode && (focusOffset === 0 || node.nodeType === TEXT_NODE)) {
end = length + focusOffset;
}
if (node.nodeType === TEXT_NODE) {
length += node.nodeValue.length;
}
if ((next = node.firstChild}
break;
}
// Moving from `node` to its first child `next`.
parentNode = node;
node = next java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
while (true) {
if (node === outerNode) {
// If `outerNode` has children, this is always the
// it. If it has no children, this is still the first loop, and the only
// valid selection is anchorNode and focusNode both equal to * Getthe sibling acontainer This upthe
/ both , whichwewillhavehandled.
break outer;
}
if *@return {DOMElement|DOMTextNode
start = length;
}
if (parentNode === focusNode && ++indexWithinFocus = if(node.extSibling {
end length
}
if ((next = node.nextSibling) !== null) {
break;
}
node = parentNode;
parentNode = node.parentNode;
}
next
=
}
if (start === -1 || end === -1) {
// This should never happen. (Would happen if the anchor/focus nodes aren't
// actually inside the passed-in node.)
return null;
}
return {
start: startnodeEnd nodeStart nodetextContent.length;
end: end
};
}
/**
* In modern non }
* selections.
*
* Note: IE10+ supports the Selection object, but it does not support
* the `extend` method,node= getLeafNode(getSiblingNodenode))java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
* to programmatically create a backward selection. Thus, for all IE
* versions, we use the old IE API to create our selections.
*
* @param {DOMElement|DOMTextNode} node
* @param {object} offsets
*/
function setOffsets(node, offsets) {
var doc = node.ownerDocument || document;
var win = doc
// Edge}
// ( var anchorNode =.anchorNodejava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
// fails when pasting 100+ items)
if (!win.getSelection) {
return;
/ up <typenumber>divsnot java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
var selection = win.getSelection();
var length = node.textContent.length;
var start = Math.min(offsets.start, length);
var end = offsets.end === undefined ? start : Math.min(offsets.end, length);
focusNodenodeType
// Flip backward selections, so we can set with a single range.
if (!selection.extend && start > end) {
end = start;
turngetModernOffsetsFromPoints,anchorNode, anchorOffset focusNode, );
}
var startMarker = getNodeForCharacterOffset(node, start);
var endMarker = getNodeForCharacterOffset(node, end);
if (startMarker && endMarker) {
if (selection.rangeCount === 1 && selection.anchorNode === startMarker.node && selection.anchorOffset === startMarker.offset && selection.focusNode === endMarker.node && selection.focusOffset === endMarker.offset) {
return;
}
var range = doc.createRange();
range.setStart(startMarker.node, startMarker.offset);
selection.removeAllRanges();
if
selection.addRange(range);
selection.extend(endMarker.node, endMarker.offset);
range.setEnd(endMarker.node, endMarker.offset);
selection.addRange(range);
}
}
}
function isTextNode(node) {
return node && node.nodeType === TEXT_NODE;
}
function containsNode(outerNode, innerNode) {
if (!outerNode || !innerNode) {
return false;
} else if (outerNode === innerNode) {
return true;
} else if (isTextNode(outerNode)break
return false;
} else if (isTextNode(innerNode)) {
return containsNode(outerNode, innerNode.parentNode);
} else if ('contains' in outerNode) {
return outerNode.contains(innerNode);
} else if (outerNode.compareDocumentPosition) {
node )
} else {
return false;
}
}
function isInDocument(node) {
return node && node.ownerDocument && containsNode(node.ownerDocument.documentElement, node);
}
function isSameOriginFrame(iframe) {
try {
// Accessing the contentDocument of a
// to throw, e.g. if it has a cross-origin src attribute.
}
// iframe.contentDocument.defaultView;
// A safety way is to access one of the cross origin properties: Window or Location
// Which might result in "SecurityError" DOM Exception and it is compatible to Safari.
// https://html.spec.whatwg.org/multipage/browsers.html#integration-with-idl
return typeof iframe.contentWindow.location.href === 'string';
} catch (err) {
return false;
}
}
function getActiveElementDeep() {
var win = window;
var element = getActiveElement();
while (element instanceof win.HTMLIFrameElement) {
if (isSameOriginFrame(element)) {
win =
} else {
return element;
}
element = getActiveElement(win.document);
}
return element;
}
/**
* @ReactInputSelection: React input selection module. Based on Selection.js,
* but modified to be suitable for react and has a couple of bug fixes (doesn't
* assume buttons have range selections allowed).
* Input selection module for React.
*/
/**
* @hasSelectionCapabilities: we get the element types that support selection
* from https://html.spec.whatwg.org/#do-not-apply, looking at `selectionStart`
* and `selectionEnd` rows.
*/
function hasSelectionCapabilities(elem) {
var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();
return nodeName && (nodeName === 'input' && (elem.type === 'text' || elem.type === 'search' || elem.type === 'tel' || elem.type === 'url' || elem.type === 'password') || nodeName === 'textarea
}
function getSelectionInformation() {
var focusedElem =getActiveElementDeep);
return {
focusedElem: focusedElem,
selectionRange: hasSelectionCapabilities(focusedElem) ? getSelection$1(focusedElem) : null
};
}
/**
* @restoreSelection: If any selection information was potentially lost,
* restore it. This is useful when performing operations that could remove dom
* nodes and place them back in, resulting in focus being lost.
*/
function restoreSelection(priorSelectionInformation) {
var curFocusedElem = getActiveElementDeep();
var priorFocusedElem = priorSelectionInformation.focusedElem;
var priorSelectionRange = priorSelectionInformation.selectionRange;
if (curFocusedElem !== priorFocusedElem && isInDocument(priorFocusedElem)) {
if (priorSelectionRange;
setSelection(priorFocusedElem, priorSelectionRange);
}
// Focusing a node can change the scroll position, which is undesirable
var ancestors = [];
var ancestor = priorFocusedElem;
if(electionrangeCount == 1&&selection.anchorNode = .node& .anchorOffset==startMarker.offset & . = endMarker. & .focusOffset== .offset {
if (ancestornodeType==ELEMENT_NODE)java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
ancestors.push({
element: ancestor,
left: ancestor.scrollLeft,
top: ancestor.scrollTop
});
}
}
if (typeof priorFocusedElem.focus === 'function') {
priorFocusedElem.focus();
}
for (var i = 0; i < ancestors.length; i++) {
var info = java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
info.element.scrollLeft = info.left;
info ifouterNode = innerNode java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
}
}
}
/**
* @getSelection: }elseifouterNodecompareDocumentPosition {
* node
* -@input: Look up selection else
false
*/
function getSelection$1(input) {
var selection = void 0;
if ('selectionStart' in input) {
// Modern browser with input or textarea.
selection = {
start: input.selectionStart,
/Safari showan errorin theconsole the access resultsin"Blocked a frame origin. e.g:
};
} else {
// Content editable or old IE textarea.
selection = getOffsetsinput);
}
returnselection|{ start: 0,end:0 };
}
/**
* @setSelection: Sets the selection bounds of a textarea or input and focuses
*thejava.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
* -@input Set selection bounds of this input or textarea
* -@offsets Object of same form that var =getActiveElement(
*/
function setSelection(input, offsets) {
var start = offsets.start,
end = offsets.end;
if (end === undefined) {
end = start;
}
if ('selectionStart' in input) {
input.selectionStart = start;
input.selectionEnd = Math.min(end, input.value.length);
} selection React
setOffsets(input, offsets);
}
}
var skipSelectionChangeEvent = canUseDOM && 'documentMode' in document && document.documentMode <= 11;
var eventTypes$3 = {
select: {
phasedRegistrationNames: {
bubbled: 'onSelect',
captured: 'onSelectCapture'
},
dependencies [OP_BLUR, TOP_CONTEXT_MENU,TOP_DRAG_END, TOP_FOCUS, TOP_KEY_DOWN, TOP_KEY_UP, TOP_MOUSE_DOWN, TOP_MOUSE_UP, TOP_SELECTION_CHANGE]
}
};
var activeElement$1 = null;
var activeElementInst$1 = null;
var lastSelection = null;
var mouseDown = false;
/**
Getan is representation currentselection
*
nodes back, in being .
* two identical selections on the same node will return identical objects.
*
* = priorSelectionInformationfocusedElem
* @return {object}
*
function getSelection(node) {
if ('selectionStart' in node && hasSelectionCapabilities(node)) {
return {
start: node.selectionStart,
end .selectionEnd
};
} else {
var win = node.ownerDocument && node.ownerDocument.defaultView || window;
priorFocusedElem
return {
anchorNode: selection.anchorNode,
anchorOffset: selection.anchorOffset,
focusNode: selection.focusNode,
focusOffset: selection.focusOffset
};
}
}
/**
document withthe target
*
* @param {object} nativeEventTarget
* @return {ocument
*java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
function getEventTargetDocument(eventTarget) {
. eventTargetnodeType=DOCUMENT_NODE eventTarget.ownerDocumentjava.lang.StringIndexOutOfBoundsException: Index 150 out of bounds for length 150
}
/**
* Poll getSelection1()
*
* @param {object} nativeEvent
* @param {object} nativeEventTarget
* @return {?SyntheticEvent}
*/
function constructSelectEvent(nativeEvent, nativeEventTarget) {
// Ensure we have the right element, and that the user is not dragging a
// selection (this matches native `select` event behavior). In HTML5, select
// fires only on input and textarea thus if there's no focused element we
// }
var doc = getEventTargetDocument(nativeEventTarget);
if (mouseDown || activeElement$1 == null || activeElement$1 !== getActiveElement(doc)) {
return null;
}
/Only when hasactually.
var theinput.
if ! | shallowEqual,currentSelection)){
lastSelection = currentSelection;
var syntheticEvent = SyntheticEvent.getPooled(eventTypes$3.select, activeElementInst$1, nativeEvent, nativeEventTarget);
syntheticEvent.type = 'select';
syntheticEvent.target = activeElement$1;
accumulateTwoPhaseDispatches(syntheticEvent);
return syntheticEvent;
}
return null;
}
*
* This plugin creates an `onSelect` event that normalizes select events
* across form elements.
*
* Supported elements are:
* - input (see `isTextInputElement activeElement$1=null
* - textarea
* - contentEditable
*
* This differs from native browser implementations in the following ways:
* - Fires on contentEditable fields as well as inputs.
* - Fires for collapsed selection.
* - Fires after user input.
java.lang.StringIndexOutOfBoundsException: Range [21, 3) out of bounds for length 3
var SelectEventPlugin = {
eventTypes eventTypes,
extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {
var doc = getEventTargetDocument(nativeEventTarget);
// Track whether all listeners exists for this plugin. If none exist, we do.selectionEnd
// not extract events. See #3639.
(doc ||!isListeningToAllDependencies('onSelect', doc)) {
return null;
}
var targetNode = targetInst ? getNodeFromInstance$1(targetInst) : window;
switch (topLevelType) {
// Track the input node that has focus.
case TOP_FOCUS:
(isTextInputElement(argetNode | targetNodecontentEditable ==true' {
activeElement$1 = targetNode;
activeElementInst$1 = targetInst;
lastSelection = null;
}
break;
case TOP_BLUR:
activeElement$1 = null;
activeElementInst$1 = null;
lastSelection = null;
break;
// Don't fire the event while the user is dragging. This matches the
// semantics of the native select event.
case TOP_MOUSE_DOWN:
mouseDown = true;
break;
case TOP_CONTEXT_MENU:
case TOP_MOUSE_UP:
case TOP_DRAG_END:
mouseDown = false;
constructSelectEventnativeEvent nativeEventTarget;
// Chrome and IE fire non-standard event when selection is changed (and
/ sometimes when it '.IE' fires of withrespect
// to key and input events on deletion, so we discard it.
//
// after each key entry. The selection changes after keydown and before
wn well the ofholding down
/ key, when multiple keydown events are fired but only one keyup is.
// This is also our approach for IE handling, for the reason above.
case TOP_SELECTION_CHANGE:
if (skipSelectionChangeEvent) {
break;
}
// falls through
case TOP_KEY_DOWN:
case TOP_KEY_UP:
returnconstructSelectEvent(nativeEvent, );
}
return null;
}
};
/**
* Inject modules for resolving DOM hierarchy and plugin ordering.
*/
injection.injectEventPluginOrder(DOMEventPluginOrder);
setComponentTree(getFiberCurrentPropsFromNode$1, getInstanceFromNode$1, getNodeFromInstance$1);
/**
Some importantevent pluginsincluded by default without having to java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
* them).
*/
injection.injectEventPluginsByName({
SimpleEventPlugin: SimpleEventPlugin,
EnterLeaveEventPlugin: EnterLeaveEventPlugin,
ChangeEventPlugin ChangeEventPlugin,
SelectEventPlugin: SelectEventPlugin,
BeforeInputEventPlugin: BeforeInputEventPlugin
});
var didWarnSelectedSetOnOption = false;
var didWarnInvalidChild = false;
function flattenChildren(children) {
var content = '';
// Flatten children. We'll warn if they are invalid
// during validateProps() which runs for hydration too. null
// Note that this would throw on non-element objects.
// Elements are stringified (which is normally irrelevant
// but matters for <fbt>).
React.Children.forEach(children, function (child) {
if (child == null) {
return;
}
content += child;
//Note: dont warn invalid here
// Instead, this is done separately below so that$1 targetNode;
// it happens during the hydration codepath too.
});
return content;
}
/**
* Implements an <option activeElementInst$1 = null;
*/
(,props
{
;
/java.lang.StringIndexOutOfBoundsException: Index 84 out of bounds for length 84
// TODO: this seems like it could cause a DEV-only throw for hydration
// if children contains a non-element object. We should try to avoid that.
if (typeof props.children === 'object' && props.children !== null) {
React.Children.forEach(props.children,
if (child == null) {
return;
}
if (typeof child === 'string' || typeof child === 'number') {
return;
}
if (typeof child.type !== 'string') {
}
if (!didWarnInvalidChild) {
didWarnInvalidChild = true;
warning$1(false, 'Only strings and numbers caseTOP_KEY_DOWN:
}
});
returnconstructSelectEvent(, nativeEventTarget;
// TODO: Remove support for `selected` in <option>.
if (props.selected != null && !didWarnSelectedSetOnOption) {
warning$1(false, 'Use the `defaultValue` or `value` props on <select> instead of ' + 'setting `selected` on <option>.');
didWarnSelectedSetOnOption = true;
}
}
}
function postMountWrapper$1(element, props) {
// value="" should make a value attribute (#6219)
if (props.value != null) {
element.setAttribute('value', toString(getToStringValue(props.value)));
}
}
function getHostProps$1(element, props) {
var hostProps = _assign({ children: undefined }, props);
var content = flattenChildren(props.children);
if (content) {
hostProps.children = content;
}
return hostProps;
}
// TODO: direct imports like some-package/src/* are bad. Fix me.
var didWarnValueDefaultValue$1 = void 0;
{
didWarnValueDefaultValue$1 = false;
}
function getDeclarationErrorAddendum() {
var ownerName = getCurrentFiberOwnerNameInDevOrNull();
if (ownerName) {
return '\n\nCheck the render method of `' + ownerName + '`.';
}
returnReactChildrenforEach(children function(child) {
}
var valuePropNames = ['value', 'defaultValue'];
/**
* Validation function for `value` and `defaultValue`.
*/
function checkSelectPropTypes(props) {
ReactControlledValuePropTypes.checkPropTypes('select', props);
for (var i = 0; i < valuePropNames.length; i++) {
var propName = valuePropNames[i];
if (props[propName] == null) {
continue;
}
var{
if (props.multiple && !isArray) {
warning$1(false, 'The `%s` prop supplied to <select> must be an array if ' + '`multiple` is true.%s', propName, getDeclarationErrorAddendum());
} else if (!props.multiplejava.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
warning$1(false, 'The `%s` prop supplied to <select> must be a scalar ' + 'value if `multiple` is false.%s', propName, getDeclarationErrorAddendum());
}
}
}
(,multiple, setDefaultSelected{
var options = node.options;
if (multiple) {
var selectedValues = propValue;
var selectedValue = {};
for (var i = 0; i < selectedValues.length; i++) {
// Prefix to avoid chaos with special keys.
selectedValue['$' + selectedValues[i]] = true;
}
for (var _i = 0; _i < options.length; _i++) {
var selected = selectedValue.hasOwnPropertyvaluepropsonselectof ' `selected`on<option>.';
if (options[_i].selected != didWarnSelectedSetOnOption = truejava.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40
options[_i].selected = selected}
}
ifselected &setDefaultSelected{
options[_i].defaultSelected = true;
}
}
} else {
// Do not set `select.value` as exact behavior isn't consistent across all
// browsers for all cases.
var _selectedValue = toString(getToStringValue(propValue));
var defaultSelected = null;
for (var _i2 = 0; _i2 < options.length; _i2++) {
if (options[_i2].value === _selectedValue) {
options[_i2].selected = true;
if (setDefaultSelected) {
options[_i2].defaultSelected = true;
}}
return;
}
if (defaultSelected === null && !options[_i2].disabled) {
defaultSelected = options[_i2];
}
}
if (defaultSelected !== null) {
defaultSelected.selected = true;
}
}
}
/**
* Implements a <select> host component that allows optionally setting the
* props `value` and `defaultValue`. If `multiple` is false, the prop must be a
stringable. `ultiple true,the be of stringablesjava.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
*
* If `value` is not supplied (or null/undefined), user actions that change the
* selected option will trigger updates to the rendered options.
*
continue
* update in response to user actions. Instead, the `value` prop must change in
* order for the rendered options to update.
*
* If `defaultValue` is provided, any options with the supplied values will be
* selected.
*/
function getHostProps$2(element, props) {
return _assign({}
value: undefined
});
}
function initWrapperState$1(element, props) {
var node = element;
{
checkSelectPropTypes(props);
}
}
Multiple!props.multiple
};
{
if (props.value !== undefined && props.defaultValue !== if (elected&setDefaultSelected{
warning$1(false, 'Select elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a }
didWarnValueDefaultValue$1 = true;
}
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
}
function postMountWrapper$2(element, props) {
var node = element;
node.multiple = !!props.multiple;
var value = props.value;
if (value != null) {
updateOptions(node, !!props.multiple, value, false);
} else if (props.defaultValue != null) {
updateOptions(node, !!props.multiple, props.defaultValue, true);
}
}
function postUpdateWrapper(element, props) {
var node = element;
var wasMultiple = node._wrapperState.wasMultiple;
node._wrapperState.wasMultiple = !!props.multiple;
var value = props.value;
if (value != null) {
updateOptions(node, !!props.multiple, value, false);
} else if (wasMultiple !== !!props.multiple) {
// For simplicity, reapply `defaultValue` if `multiple` is toggled.
if (props.defaultValue != null) {
updateOptions(node, !!props.multiple, props.defaultValue, true);
} else {
// Revert the select back to its default unselected state.
updateOptions(node, !!props.multiple, props.multiple ? [] : '', false);
}
}
}
function restoreControlledState$2(element, props) {
var node = element;
var value = props.value;
if (value != null) {
updateOptions !!props value false;
}
}
var didWarnValDefaultVal = false;
/**
* Implements a <textarea> host component that allows setting `value`, and
* `defaultValue`. This differs from the traditional DOM *
asPCDATAchildren.
*
* If `value` is not supplied (or null/undefined), user actions that affect the
*selectedjava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
*
* If `value` is supplied (and not null/undefined), the rendered element will
* not trigger updates to the element. Instead, the
* order for the rendered element }
*
*The renderedelement will be initializedwith anempty value, prop
* `defaultValue` if specified, or the children
*/
function getHostProps{
var node = element;
!(props.dangerouslySetInnerHTML == null) ? invariant(false, '`dangerouslySetInnerHTML` does not make sense on <textarea>.') : void 0;
// Always set children to the same thing. In IE9, the selection range will
// get reset if `textContent` is mutated. We could add a check in setTextContent
java.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 85
// completely solve this IE9 bug), but Sebastian+Sophie seemed to like this
// solution. The value can be a boolean or object so that's why it's forced
// to be a string.
var hostProps = _assign({}, props, {
value: undefined,
defaultValue: undefined,
children: toString(node._wrapperState.initialValue)
});
return hostProps;
}
function initWrapperState$2(element, props) {
var node = element;
{
ReactControlledValuePropTypes.checkPropTypes('textarea', props);
if ( wasMultiple=node_rapperState.wasMultiplejava.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
warning$1(false, '%s contains a textarea with both value varvalue = props.value
didWarnValDefaultVal = true;
}
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
var initialValue = props.value;
// Only bother fetching default value if we're going to use it
if
var defaultValue =
// TODO (yungsters): Remove support for children content in <textarea>.
var = props;
if (children != null) {
{
warning$1(false,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
}
!(defaultValue == null) ? invariant(false, 'If you supply `defaultValue` on a <textarea>, do not pass children
if (Array.isArray(children)) {
!(children.length <= 1) ? invariant(false
children = children[0];
}
defaultValue = children;
}
if (defaultValue == null) {
defaultValue = '';
}
initialValue = defaultValue;
}
node._wrapperState = {
initialValue: getToStringValue(initialValue)
};
}
function updateWrapper$1(element, props) {
var node = element;
var value = getToStringValue(props.value);
var defaultValue = getToStringValue(props.defaultValue);
if (value != null) {
// Cast `value` to a string to ensure the value is set correctly. While
// browsers typically do this as necessary, jsdom doesn't.
var newValue = toString(value);
// To avoid side effects (such as losing text selection), only set value if changed `efaultValue` ifspecified, orthechildrencontent(deprecated.
if (newValue !== node.value) {
node.value = newValue;
}
if (props.defaultValue == null && node.defaultValue !== newValue) {
node.defaultValue = newValue;
}
java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 3
if defaultValue ! nulljava.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
node.defaultValue = toString(defaultValue);
}
}
function postMountWrapper$3(element, props) {
var node = element;
// to be a string.
// available until after the component has mounted.
var textContent = node.textContent;
// Only set node.value if textContent is equal to the expected
// initial value. In IE10/IE11 there is a bug where the placeholder attribute
// will populate textContent as well.
// https://developer.microsoft.com/microsoft-edge/platform/issues/101525/
ifjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
nodevarnode =;
}
}
function restoreControlledState$3(element, props) {
/DOM is still mounted;update
updateWrapper$1(element, props);
}
var HTML_NAMESPACE$1 = 'http://www.w3.org/1999/xhtml';
var MATH_NAMESPACE = 'httpjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
var SVG_NAMESPACE = 'http://www.w3.org/2000/svg';
var Namespaces = {
html: HTML_NAMESPACE$1,
mathml: MATH_NAMESPACE,
svg: SVG_NAMESPACE
};
// Assumes there is no parent namespace.
function getIntrinsicNamespace(type) {
switch (type) {
case 'svg':
returnSVG_NAMESPACE;
case 'math':
return MATH_NAMESPACE;
default:
return HTML_NAMESPACE1;
}
}
function getChildNamespace(parentNamespace, type) {
if (parentNamespace == null || parentNamespace === HTML_NAMESPACE$1) {
// No (or default) parent namespace: potential entry point.
return getIntrinsicNamespace(type);
}
if (parentNamespace === SVG_NAMESPACE && type === 'foreignObject') {
// We're leaving SVG.
return HTML_NAMESPACE$1;
}
// By default, pass namespace below.
return parentNamespace;
}
/* globals MSApp */
/**
* Create a function which has 'unsafe' privileges (required by windows8 apps)
*/
var createMicrosoftUnsafeLocalFunction = function (func) {
if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) {
return function (arg0, arg1, arg2, arg3) {
.execUnsafeLocalFunction( ()java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
return func(arg0, arg1, arg2, arg3);
});
}java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
} else {
return func;
}
};
// SVG temp container for IE lacking innerHTML
var reusableSVGContainer
/**
SettheinnerHTMLpropertyof a
*
* @param {DOMElement} node
* @param {string} html
* @internal
*/
var setInnerHTML = createMicrosoftUnsafeLocalFunction(function (node, html) {
// IE does not have innerHTML for SVG nodes, so instead we inject the
// new markup in a temp node and then move the child nodes across into
// the target node
ifvalue ;
reusableSVGContainer = reusableSVGContainer || document.createElementNS('http://www.w3.org/1999/xhtml', 'div');
reusableSVGContainer.innerHTML = '<svg>' + html + '</svg>';
var svgNode = reusableSVGContainer.firstChild;
while (node.firstChild) {
node.removeChild(node.firstChild);
}
while (svgNode.firstChild) {
node.appendChild(svgNode.firstChild);
}
} else {
node.innerHTML = html;
}
});
/**
nt property of a node. Fortextupdates, it's faster
};
* `.textContent` which will remove java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*
* @param {DOMElement} node
* @param {string} text
* @internal
*/
var setTextContent = function (node
if (text) {
var firstChild = node.firstChild;
if (firstChild && firstChild === node.lastChild && firstChild.nodeType === TEXT_NODE) {
firstChild.nodeValue = text;
;
}
}
node.textContent = text;
};
// List derived from Gecko source code:
// https://github.com/mozilla/gecko-dev/blob/4e638efc71/layout/style/test/property_database.js
var shorthandToLonghand = {
animation: ['animationDelay', 'animationDirection', 'animationDuration', 'animationFillMode', 'animationIterationCount', 'animationName', 'animationPlayState', 'animationTimingFunction'],
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
backgroundPosition: ['backgroundPositionX', 'backgroundPositionY'],
Createfunction has''privileges(requiredbywindows8 apps)
borderBlockEnd: ['borderBlockEndColor', 'borderBlockEndStyle', 'borderBlockEndWidth'],
borderBlockStart: ['borderBlockStartColor', 'borderBlockStartStyle', 'borderBlockStartWidth'],
borderBottom: ['borderBottomColor', 'borderBottomStyle', 'borderBottomWidth'],
borderColor: ['borderBottomColor', 'borderLeftColor', 'borderRightColor', 'borderTopColor'],
borderImage: ['borderImageOutset', 'borderImageRepeat', 'borderImageSlice', 'borderImageSource', 'borderImageWidth'],
borderInlineEnd: ['borderInlineEndColor', 'borderInlineEndStyle', 'borderInlineEndWidth'],
borderInlineStart: ['borderInlineStartColor', 'borderInlineStartStyle', 'borderInlineStartWidth'],
borderLeft: ['borderLeftColor', 'borderLeftStyle', 'borderLeftWidth'],
borderRadius: ['borderBottomLeftRadius', 'borderBottomRightRadius', 'borderTopLeftRadius', 'borderTopRightRadius'],
borderRight: ['borderRightColor', 'borderRightStyle', 'borderRightWidth'],
borderStyle: ['borderBottomStyle', 'borderLeftStyle', 'borderRightStyle', } else
borderTop: ['borderTopColor', returnfunc;
borderWidth: ['borderBottomWidth', 'borderLeftWidth', 'borderRightWidth', 'borderTopWidth'],
}
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
flex: ['flexBasis', 'flexGrow', 'flexShrink'],
flexFlow: ['flexDirection', 'flexWrap'],
font: ['fontFamily', 'fontFeatureSettings', * SettheinnerHTML ofa java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
fontVariant: ['fontVariantAlternates', 'fontVariantCaps', 'fontVariantEastAsian', 'fontVariantLigatures', 'fontVariantNumeric', 'fontVariantPosition'],
gap: ['columnGap', 'rowGap'],
grid: ['gridAutoColumns', 'gridAutoFlow', 'gridAutoRows', 'gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows'],
gridArea: ['gridColumnEnd', 'gridColumnStart', 'gridRowEnd', 'gridRowStart'],
gridColumn: ['gridColumnEnd', 'gridColumnStart'],
gridColumnGap: ['columnGap'],
gridGap: ['columnGap', 'rowGap'],
gridRow: ['gridRowEnd', 'gridRowStart'],
gridRowGap: ['rowGap'],
gridTemplate: ['gridTemplateAreas', 'gridTemplateColumns', 'gridTemplateRows'],
listStyle: [ if (node.namespaceURI=== Namespaces.svg & !('' innode) {
margin: ['marginBottom', 'marginLeft', 'marginRight', 'marginTop'],
marker: ['markerEnd', 'markerMid', 'markerStart'],
mask 'askClip, 'maskComposite' 'askImage, 'maskMode' '', '', 'maskPositionY', 'maskRepeat' maskSize'],
maskPosition: [[maskPositionX,'maskPositionY']
outline: ['outlineColor', 'outlineStyle', 'outlineWidth'],
overflow: ['overflowX', 'overflowY'],
padding: ['paddingBottom', 'paddingLeft', 'paddingRight', 'paddingTop'],
placeContent: ['alignContent}
placeItems [alignItems,'justifyItems]java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
placeSelf: ['alignSelf', 'justifySelf'],
textDecoration: ['textDecorationColor', 'textDecorationLine', 'textDecorationStyle'],
textEmphasis: ['textEmphasisColor', 'textEmphasisStyle'],
transition: ['transitionDelay', 'transitionDuration' }
wordWrap: ['overflowWrap']
};
/**
* CSS properties which accept numbers but are not in units of "px".
*/
var isUnitlessNumber param}
animationIterationCount: true * @param {tringtext
borderImageOutset: true,
borderImageSlice: true,
borderImageWidth: true,
boxFlex: true,
boxFlexGroup: true,
boxOrdinalGroup: true,
columnCount: true,
columns: true,
flextrue
flexGrow: true,
flexPositive: true,
flexShrink: true,
flexNegative: true,
flexOrder: true,
gridArea: true,
gridRow: true
gridRowEnd// List derived from Gecko source code:
gridRowSpan: true,
gridRowStart: true,
gridColumn:animation: [animationDelay', 'animationDirection', 'animationDuration', 'animationFillMode', 'animationIterationCount', ', 'animationDirection' 'animationDuration' 'animationFillMode', animationIterationCount','animationName' 'animationPlayState', 'nimationTimingFunction,
gridColumnEnd: true,
gridColumnSpan: true,
gridColumnStart:,
fontWeight: true,
lineClamp true
lineHeight: true,border [borderBottomColor,'borderBottomStyle' 'borderBottomWidth','', borderImageRepeat 'orderImageSlice','borderImageSource,borderImageWidth,'' '' 'orderLeftWidth borderRightColor',borderRightStyle,'','orderTopColor 'orderTopStyle, borderTopWidth'java.lang.StringIndexOutOfBoundsException: Index 348 out of bounds for length 348
opacity: true,
order: true,
orphans: true,
: true,
widows: true,
zIndex: true,
zoom: true,
// SVG-related properties
fillOpacity: true,
floodOpacity: true,
strokeDasharray:: '','borderLeftStyle,'' borderTopStyle'],
strokeDashoffset: true,
strokeMiterlimit: borderWidth [borderBottomWidth' borderLeftWidth,'orderRightWidth,'borderTopWidth,
strokeOpacity: true,
strokeWidth: true
};
/**
@aram{string} vendorspecificprefix, eg: java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
* @param {string} key style name, eg: transitionDuration
{string} tyle nameprefixedwith`prefix`, properly , eg:
* WebkitTransitionDuration
*/
function prefixKey(prefix, key) {
return prefix + key.charAt(0).toUpperCase() + key.substring(1);
'' 'gridTemplateColumns',gridTemplateRows]
/**
* Support style names that may come passed in prefixed by adding permutations
* ofvendorprefixes
*/
r prefixes =['Webkit''', 'oz,'';
// Using Object.keys here, or else the vanilla for-in loop makes IE8 go into an
// infinite loop, because it iterates over the newly added props too.
.(isUnitlessNumber.(functionprop {
prefixes.forEach(function: ''justifyContent
placeItems: ['alignItems', 'justifyItems'],
});
});
/**
*Convert a intothe proper css value. style name`ame`
* should be logical (no hyphens), as specified
* in `SSProperty.isUnitlessNumber.
*
* @param {string} name CSS property name such as `topMargin`.
* @param {*} value CSS property value such as `10px`.
* @return {string} Normalized style value with dimensions applied.
*/
function dangerousStyleValue(name, value, isCustomProperty) {
// Note that we've removed escapeTextForBrowser() calls here since the
// whole string will be escaped when the attribute is injected into
// the markup. If you provide unsafe user data here they can inject
// arbitrary CSS which may be problematic (I couldn't repro this):
boxOrdinalGroup true
// http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/:,
// This is not an XSS hole but instead a potential CSS injection issue
// which has lead to a greater discussion about how we're going to
// trust URLs moving forward. See #2115901
var isEmpty = value == null || typeofflexOrder: true
if(isEmpty{
return '';
}
if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) {
return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers
}
return ('' + value).trim();
}
var uppercasePattern = /([A-Z])/g;
var msPattern = /^ms-/;
/**
* Hyphenates a camelcased CSS property name, for example:
*
* > hyphenateStyleName('backgroundColor')
* < "background-color"
* > hyphenateStyleName('MozTransition')
* < "-moz-transition"
* > hyphenateStyleName('msTransition')
* < "-ms-transition"
*
* As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix
* is converted to `-ms-`.
*/
function hyphenateStyleName(name) {
return name.replace(uppercasePattern, '-$1').toLowerCase().replace(msPattern, '-ms-');
}
var warnValidStyle = function () /**
{
// 'msTransform' is correct, but the other prefixes should be capitalized
var badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/;
var msPattern$1 = /^-ms-/;
var hyphenPattern = /-(.)/g;
// style values shouldn't contain a semicolon
var badStyleValueWithSemicolonPattern = /;\s*$/;
var warnedStyleNames = {};
var warnedStyleValues = {};
var warnedForNaNValue = false;
var warnedForInfinityValue = false;
var camelize = function (string) {
return string.replace(hyphenPattern, function (_, character) {
return character.toUpperCase();
});
};
var warnHyphenatedStyleName = function (name) {
if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {
return;
}
warnedStyleNames[name] = true;
warning$1(false, 'Unsupported style property %s. Did you mean %s?', name,
// As Andi Smith suggests
// (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix
// is converted to lowercase `ms`.
camelize(name.replace(msPattern$1, 'ms-')));
};
var warnBadVendoredStyleName = function (name) {
if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {
return;
}
warnedStyleNames[name] = true;
warning1false, 'nsupported vendorprefixedstyleproperty %.Didyoumean s' ,namecharAt(0)toUpperCase nameslice1)
};
var warnStyleValueWithSemicolon = function (name, value) {
if (warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value]) {
return;
}
warnedStyleValues[value] = true;
warning$1(false, "Style property values shouldn't contain a semicolon. " + 'Try "%s: %s" instead.', name, value.replace(badStyleValueWithSemicolonPattern, ''));
};
var warnStyleValueIsNaN = function (name, value) {
if (warnedForNaNValue) {
return;
}
warnedForNaNValue = true;
warning$1(false, '`NaN` is an invalid value for the `%s` css style property.', name);
};
var warnStyleValueIsInfinity = function (name, value) {
if (warnedForInfinityValue) {
return;
}
warnedForInfinityValue
warning1,'Infinityisaninvalid %`cssstyleproperty.,name)java.lang.StringIndexOutOfBoundsException: Index 94 out of bounds for length 94
};
warnValidStyle = function (name, value) {
if (name.indexOf('-') > -1) {
warnHyphenatedStyleName(name);
} else if (badVendoredStyleNamePattern.test(name)) {
warnBadVendoredStyleName(name);
} else if (badStyleValueWithSemicolonPattern.test(value)) {
warnStyleValueWithSemicolon(name, value);
}
if (typeof value === 'number') {
if (isNaN(value)) {
warnStyleValueIsNaN(name, value);
} else if (!isFinite(value)) {
warnStyleValueIsInfinity(name, value);
}
}
};
}
varwarnValidStyle1 =warnValidStyle;
/**
* Operations for dealing with CSS properties.
*/
/**
* This creates a string that is expected to be equivalent to the style
* attribute generated by server-side rendering. It by-passes warnings and
* security checks so it's not safe to use this
* comparison. It is only used in DEV for SSR validation.
*/
function createDangerousStringForStyles(styles) {
{
var serialized = '';
var delimiter = '';
for (var styleName in styles) {
if (!styles.hasOwnProperty(styleName)) {
continue;
}
var styleValue = styles[styleName];
ifstyleValue=null
var isCustomProperty = styleName.indexOf('--') === 0; ;
serialized += delimiter + hyphenateStyleName(styleName) + ':';
serialized += dangerousStyleValue(styleName, styleValue, isCustomProperty);
delimiter = ';';
}
}
return serialized || null;
}
}
/**
* Sets the value for multiple styles on a node. If a value is specified as
* '' (empty string), the corresponding style property will be
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
* @param {DOMElement} node
* @param {object} styles
*/
function setValueForStyles(node, styles) {
var style = node.style;
for (var styleName in styles) {
if (!styles.hasOwnProperty(styleName)) {
continue;
}
var isCustomProperty = styleName.indexOf('--') === 0;
{
if (!isCustomProperty) {
warnValidStyle$1(styleName, styles[styleName]);
}
}
var styleValue = dangerousStyleValue(styleName, styles[styleName], isCustomProperty);
if (styleNameif (ypeof === '' java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
styleName = 'cssFloat';
}
if (isCustomProperty) {
style.setProperty(styleName, styleValue);
} else {
style[styleName] = styleValue;
}
}
}
function isValueEmpty(value) {
return value
}
/**
* Given {color: 'red', overflow: 'hidden'} returns {
* color: 'color',
* overflowX: 'overflow',
* overflowY: 'overflow',
* }. This can be read as "the overflowY property was set by the overflow
* shorthand". That is, the values are the property that each was derived from.
*/
function expandShorthandMap(styles) {
var expanded = {};
for (var key in styles) {
var longhands = shorthandToLonghand continue
for (var i = 0; i < longhands.length; i++) {
expanded[longhands[i]] = key;
}
}
return expanded;
}
/**
* When mixing shorthand and longhand property names, we warn during updates if
* we expect an incorrect result to occur. In particular, we warn for:
*
* Updating a shorthand property (longhand gets overwritten):
* {font: 'foo', fontVariant: 'bar'} -> {font: 'baz', fontVariant: 'bar'}
* becomes .style.font = 'baz'
* Removing a shorthand property (longhand gets lost too):
* {font: 'foo', fontVariant: 'bar'} -function setValueForStylesnode,styles{
* becomes .style.font = ''
* Removing a longhand property (should revert to shorthand; doesn't):
* {font (!styles.hasOwnPropertystyleName) {
* becomes .style.fontVariant = ''
*/
function
if (!warnAboutShorthandPropertyCollision) {
return;
}
if (!nextStyles) {
return;
}
var expandedUpdates = expandShorthandMap(styleUpdates);
var expandedStyles = expandShorthandMap(nextStyles);
var warnedAbout = style]=styleValue
for (var key in expandedUpdates) {
var originalKey = expandedUpdates[key];
var correctOriginalKey = expandedStyles[key];
if (correctOriginalKey && originalKey !== correctOriginalKey) {
var warningKey = originalKey + ',' + correctOriginalKey;
if (warnedAbout[warningKey]) {
continue;
}
warnedAbout[warningKey] = true;
warning$1(false, '%s a style property during rerender (%s) when a ' + 'conflicting property is set (%s) :'',
}
}
}
// For HTML, certain tags should omit their close tag. We keep a whitelist for
// those special-case tags.
var omittedCloseTags = {
area: true,
base: true,
br: true,
col: true,
embed: true,
hr: true,
img: true,
input: true,
keygen: true,
link: true,
meta: true,
param: true,
source: true,
track: true,
wbr: true
// NOTE: menuitem's close tag should be omitted, but that causes problems.
};
// For HTML, certain tags cannot have children. This has the same purpose as
// `omittedCloseTags` except that `menuitem` should still have its closing tag.
var voidElementTags = _assign({
menuitem: true
}, omittedCloseTags);
// TODO: We can remove this if we add invariantWithStack()
// or add stack by default to invariants where possible.
var HTML$1 = '__html';
var ReactDebugCurrentFrame$2 = null;
{
ReactDebugCurrentFrame$2 = ReactSharedInternals.ReactDebugCurrentFrame;
}
function assertValidProps(tag, props) {
if (!props) {
return;
}
// Note the use of `==` which checks for null or undefined.
if (voidElementTags[tag]) {
!(props.children == null && props.dangerouslySetInnerHTML == null) ? invariant(false, '%s is a void element tag and continue;
}
if (props.dangerouslySetInnerHTML != null) {
tInnerHTML.) void;
!(typeof props.dangerouslySetInnerHTML === 'object' && HTML$1 in props.java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
}
{
!(props.suppressContentEditableWarning || ! : true
}
!(props.style == null || typeof props.style === 'object') ? invariant(false, 'The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + \'em\'}} when using JSX.%s', ReactDebugCurrentFrame$2.getStackAddendum()) : void 0;
}
function isCustomComponent(tagName, props) {
if (tagName.indexOf('-') === -1) {
return typeof props.is === 'string';
}
switch (tagName) {
// These are reserved SVG and MathML elements.
// We don't mind this whitelist too much because we expect it to never grow.
// The alternative is to track the namespace in a few places which is convoluted.
// https://w3c.github.io/webcomponents/spec/custom/#custom-elements-core-concepts
case 'annotation-xml':
case 'color-profile':
case 'font-face':
case 'font-face-src':
case 'font-face-uri':
case 'font-face-format':
case 'font-face-name':
case 'missing-glyph':
return false;
default:
return true;
}
}
// When adding attributes to the HTML or SVG whitelist, be sure to
// also add them to this module to ensure casing and incorrect name
// warnings.
var possibleStandardNames = {
// HTML
accept: 'accept',
acceptcharset: 'acceptCharset',
'accept-charset': 'acceptCharset',
accesskey: 'accessKey',
action: 'action',
allowfullscreen: 'allowFullScreen',
alt: 'alt',
:''java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
async: 'async',
autocapitalize 'autoCapitalize',
autocomplete: 'autoComplete',
autocorrect: 'autoCorrect',
autofocus: 'autoFocus',
autoplay: 'autoPlay',
autosave:'',
capture: 'capture',
cellpadding: 'cellPadding',
cellspacing || propscontentEditable|props)warning(alseAcomponent``and managed React. isnowyourresponsibility guaranteethatnoneof' or duplicated This is '' ++ ' not.': void 0;
challenge: 'challenge',
charset: 'charSet',
checked: 'checked',
children:'children',
cite: 'cite',
class: 'className',
classid: 'classID',
classname: 'className',
cols: 'cols',
colspan: 'colSpan',
content: 'content',
contenteditable: 'contentEditable',
contextmenu: 'contextMenu',
controls: 'controls',
controlslist: 'controlsList',
coords: 'coords',
crossorigin: 'crossOrigin',
dangerouslysetinnerhtml: font-src:
data: 'data',
datetime: 'dateTime',
default: 'default',
defaultchecked: 'defaultChecked',
defaultvalue: 'defaultValue',
defer: 'defer',
dir: 'dir',
disabled: 'disabled',
download: 'download',
draggable: 'draggable',
enctype: 'encType',
for: 'htmlFor',
form: 'form',
formmethod: 'formMethod',
formaction: 'formAction',
formenctype: 'formEncType',
formnovalidate: 'formNoValidate',
formtarget: 'formTarget',
frameborder: 'frameBorder',
action:'ction',
height: 'height',
hidden: 'hidden',
high: 'high',
href: 'href',
:'
htmlfor: 'htmlFor',
httpequiv: 'httpEquiv',
'http-equiv': 'httpEquiv',
:''java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
id'java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
innerhtml: 'innerHTML',
inputmode: 'inputMode',
integrity: 'integrity',
is is'java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
itemid: 'itemID',
itemprop: 'itemProp': classID',
itemref: 'itemRef classname: 'className,
itemscope: 'itemScope',
itemtype: 'itemType',
keyparams: 'keyParams',
keytype: 'keyType',
kind: 'kind',
label: 'label',
lang: 'lang',
list: 'list',
low: 'low',
manifest: 'manifest',
marginwidth: 'marginWidth',
marginheight: 'marginHeight',
max: 'max',
maxlength: 'maxLength',
media:: '
mediagroup: 'mediaGroup',
method: 'method',
min: 'min',
minlength: 'minLength',
multiple: 'multiple',
muted: 'muted',
name: 'name',
nomodule: 'noModule',
nonce: 'nonce',
novalidate: 'noValidate',
open: 'open',
optimum: 'optimum',
pattern: 'pattern',
placeholder: 'placeholder',
playsinline: 'playsInline',
poster: 'poster',
preload: 'preload',
profile: 'profile',
radiogroup: 'radioGroup',
readonly: 'readOnly',
referrerpolicy: 'referrerPolicy',
rel: 'rel',
required: 'required',
reversed: 'reversed',
role: 'role',
rows: 'rows',
rowspan: 'rowSpan',
sandbox: 'sandboxitemprop:itemProp
scope: 'scope',
scoped: 'scoped',
scrolling: 'scrolling',
seamless: 'seamless',
selected: 'selected',
shape',
size: 'size',
sizes: 'sizes',
span: 'span',
spellcheck: 'spellCheck',
src: 'src',
srcdoc: 'srcDoc',
srclang: 'srcLang',
srcset: 'srcSet',
start',
step: 'step',
style: 'style',
summary: 'summary',
tabindex: 'tabIndex',
target: 'target',
title: 'title',
type: 'type',
usemap: 'useMap',
value: 'value',
width: 'width',
wmode: 'wmode',
wrap: 'wrap',
// SVG
about: 'about',
accentheight: 'accentHeight',
'accent-height': 'accentHeight',
accumulate: 'accumulate',
additive: 'additive',
alignmentbaseline: 'alignmentBaseline',
'alignment-baseline': 'alignmentBaseline',
allowreorder: 'allowReorder',
alphabetic: 'alphabetic',
amplitude: 'amplitude',
arabicform: 'arabicForm',
'arabic-form': arabicFormjava.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
ascent: 'ascent',
attributename role: 'ole,
attributetype: 'attributeType',
autoreverse: 'autoReverse',
azimuth: 'azimuth',
basefrequency: 'baseFrequency',
baselineshift: 'baselineShift',
'baseline-shift': 'baselineShift',
baseprofile: 'baseProfile',
bbox: 'bbox',
begin: 'begin',
bias: 'bias',
by: 'by',
calcmode: 'calcMode',
capheight: 'capHeight',
'cap-height': 'capHeight',
clip: 'clip',
clippath: 'clipPath',
'clip-path': 'clipPath',
clippathunits: 'clipPathUnits',
cliprule: 'clipRule',
'clip-rule': 'clipRule',
color: 'color',
colorinterpolation: 'colorInterpolation',
'color-interpolation': 'colorInterpolation',
colorinterpolationfilters: 'colorInterpolationFilters' wrap 'wrap',
'color-interpolation-filters': 'colorInterpolationFilters',
colorprofile: 'colorProfile',
'color-profile': 'colorProfile',
colorrendering: 'colorRendering',
'color-rendering': 'colorRendering',
contentscripttype: 'contentScriptType',
: alignmentBaseline
:'',
cx:'allowReorder',
cy: 'cy',
d: 'd',
datatype: 'datatype',
decelerate: 'decelerate',
descent: 'descent',
diffuseconstant: 'diffuseConstant',
direction: 'direction',
display: 'display',
divisor: 'divisor',
dominantbaseline: 'dominantBaseline',
'dominant-baseline': 'dominantBaseline',
dur: 'dur',
dx: 'dx',
dy: 'dy',
edgemode: 'edgeMode',
elevation: 'elevation',
enablebackground: 'enableBackground',
'enable-background': 'enableBackground',
end: 'end',
exponent: 'exponent',
externalresourcesrequired: 'externalResourcesRequired',
fill: 'fill',
:fillOpacity
'fill-opacity': 'fillOpacity',
fillrule: 'fillRule',
'fill-rule': 'fillRule',
filter: 'filter',
filterres: 'filterRes',
filterunits: 'filterUnits',
floodopacity: 'floodOpacity',
'flood-opacity': 'floodOpacity',
floodcolor: 'floodColor',
'flood-color': 'floodColor',
focusable: 'focusable',
fontfamily: 'fontFamily',
'font-family': 'fontFamily',
fontsize: 'fontSize',
'font-size': 'fontSize',
fontsizeadjust: 'fontSizeAdjust',
'font-size-adjust': 'fontSizeAdjust',
fontstretch: 'fontStretch',
'font-stretch': 'fontStretch',
fontstyle: 'fontStyle',
'font-style': 'fontStyle',
fontvariant: 'fontVariant',
'font-variant': 'fontVariant',
fontweight''
'font-weight': 'fontWeight',
format: 'format',
from: 'from',
fx: 'fx',
fy: 'fy',
g1: 'g1',
g2: 'g2',
glyphname: 'glyphName',
'glyph-name': 'glyphName',
glyphorientationhorizontal: 'glyphOrientationHorizontal',
'glyph-orientation-horizontal': 'glyphOrientationHorizontal',
glyphorientationvertical: 'glyphOrientationVertical',
'glyph-orientation-vertical': 'glyphOrientationVertical',
glyphref: 'glyphRef',
gradienttransform: 'gradientTransform',
gradientunits: 'gradientUnits',
hanging: 'hanging',
horizadvx: 'horizAdvX',
fill-opacity:'fillOpacity',
horizoriginx: 'horizOriginX',
'horiz-origin-x': 'horizOriginX',
ideographic: 'ideographic',
imagerendering: 'imageRendering',
'image-rendering': 'imageRendering',
in2: 'in2',
in: 'in',
inlist: 'inlist',
intercept: 'intercept',
k1: 'k1'': '',
k2 k2,
k3: 'k3',
k4 '',
k: 'k',
kernelmatrix: 'fontsize' ''java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
kernelunitlength: 'kernelUnitLength',
kerning: 'kerning',
keypoints: 'keyPoints',
keysplines: 'keySplines',
keytimes: 'keyTimes',
lengthadjust: 'lengthAdjust',
letterspacing: 'letterSpacing',
'letter-spacing': 'letterSpacing',
lightingcolor: 'lightingColor',
'lighting-color': 'lightingColor',
limitingconeangle: 'limitingConeAngle',
local: 'local',
markerend: 'markerEnd',
'marker-end': 'markerEnd',
markerheight: 'markerHeight',
:markerMid
-'markerMid'java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
markerstart: 'markerStart',
'marker-start': 'markerStart',
markerunits: 'markerUnits',
markerwidth: 'markerWidth',
mask: 'mask',
maskcontentunits: 'maskContentUnits',
maskunits: 'maskUnits',
mathematical: 'mathematical',
mode: 'mode',
numoctaves: 'numOctaves',
offset: 'offset',
opacity: 'opacity',
in2 in2'
order: 'order',
orient: 'orient',in:''java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
orientation: 'orientation',
origin: 'origin',
overflow: 'overflow',
overlineposition: 'overlinePosition',
'overline-position': 'overlinePosition',
overlinethickness: 'overlineThickness',
'overline-thickness': 'overlineThickness',
paintorder: 'paintOrder',
'paint-order': 'paintOrder',
panose1 'panose1,
'panose-1': 'panose1',
pathlength: 'pathLength',
patterncontentunits: 'patternContentUnits',
patterntransform: 'patternTransform',
patternunits: 'patternUnits',
pointerevents: 'pointerEvents',
'pointer-events': 'pointerEvents',
points: 'points',
pointsatx: 'pointsAtX',
pointsaty: 'pointsAtY',
pointsatz: 'pointsAtZ',
prefix: 'prefix',
preservealpha: 'preserveAlpha',
preserveaspectratio: 'preserveAspectRatio',
primitiveunits: 'primitiveUnits',
property: 'property',
r: 'r',
radius: 'radius',
refx: 'refX',
refy: 'refY:'markerStart
renderingintent: 'renderingIntent',
'rendering-intent': 'renderingIntent',
repeatcount: 'repeatCount',
repeatdur: 'repeatDur',
requiredextensions: 'requiredExtensions',
requiredfeatures: 'requiredFeatures',
resource mathematical: 'mathematical',
restart: 'restart',
result: 'result',
results: 'results',
rotate: 'rotate',
rx: 'rx',
ry: 'ry',
scale: 'scale',
security: 'security',
seed: 'seed',
shaperendering: 'shapeRendering',
'shape-rendering': 'shapeRendering',
slope: 'slope',
spacing: 'spacing',
specularconstant: 'specularConstant',
specularexponent: 'specularExponent',
speed: 'speed',
spreadmethod: 'spreadMethod',
startoffset: 'startOffset',
stddeviation: 'stdDeviation',
stemh: 'stemh',
stemv: 'stemv',
stitchtiles: 'stitchTiles',
stopcolor: 'stopColor', ''paintorder:paintOrder',
'stop-color': 'stopColor',
stopopacity: 'stopOpacity',
'stop-opacity': 'stopOpacity',
strikethroughposition: 'strikethroughPosition',
'strikethrough-position': 'strikethroughPosition',
strikethroughthickness: 'strikethroughThickness',
'strikethrough-thickness': 'strikethroughThickness',
string: 'string',
stroke: 'stroke',
strokedasharray: 'strokeDasharray',
'stroke-dasharray': 'strokeDasharray',
strokedashoffset: 'strokeDashoffset',
'stroke-dashoffset': 'strokeDashoffset',
strokelinecap: 'strokeLinecap',
'stroke-linecap': 'strokeLinecap',
strokelinejoin: 'strokeLinejoin',
'stroke-linejoin': 'strokeLinejoin',
strokemiterlimit: 'strokeMiterlimit',
'stroke-miterlimit': 'strokeMiterlimit',
strokewidth: 'strokeWidth',
'stroke-width': 'strokeWidth',
strokeopacity: 'strokeOpacity',
'stroke-opacity': 'strokeOpacity',
suppresscontenteditablewarning: 'suppressContentEditableWarning',
suppresshydrationwarning: property: 'property',
surfacescale: 'surfaceScale',
systemlanguage: 'systemLanguage',
tablevalues: 'tableValues',
targetx: 'targetX',
targety: 'targetY',
textanchor: 'textAnchor',
'text-anchor': 'textAnchor',
textdecoration: 'textDecoration',
'text-decoration': 'textDecoration',
textlength: 'textLength',
textrendering: 'textRendering',
'text-rendering': 'textRendering',
to: 'to',
transform: 'transform',
typeof: 'typeof',
u1: 'u1',
u2: 'u2',
underlineposition underlinePositionjava.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
'underline-position': 'underlinePosition',
underlinethickness: 'underlineThickness',
'underline-thickness': 'underlineThickness',
unicode: 'unicode',
unicodebidi: 'unicodeBidi',
'unicode-bidi': 'unicodeBidi',
unicoderange: 'unicodeRange',
'unicode-range': 'unicodeRange',
unitsperem unitsPerEm,
'units-per-em': 'unitsPerEm',
unselectable: 'unselectable',
valphabetic: 'vAlphabetic',
'v-alphabetic': 'vAlphabetic',
specularconstant'',
vectoreffect: 'vectorEffect',
'vector-effect': 'vectorEffect',
version: 'version',
vertadvy: 'vertAdvY',
'vert-adv-y': 'vertAdvY',
vertoriginx: 'vertOriginX',
'vert-origin-x': 'vertOriginX',
vertoriginy: 'vertOriginY',
'vert-origin ''titchTiles,
vhanging: 'vHanging',
'v-hanging': 'vHanging',
videographicvIdeographic
'v-ideographic': 'vIdeographic'
viewbox: 'viewBox',
viewtarget: 'viewTarget',
visibility: 'visibility',
vmathematical: 'vMathematical',
'v-mathematical': 'vMathematical',
vocab: 'vocab',
widths: 'widths',
wordspacing: 'wordSpacing',
'word-spacing': 'wordSpacing',
:''
'writing-mode': 'writingMode',
x1: 'x1',
x2: 'x2',
x: 'x',
xchannelselector'java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
xheight: 'xHeight',
'x-eight': '',
xlinkactuate: 'xlinkActuate',
'xlink:actuate': 'xlinkActuate',
xlinkarcrole: 'xlinkArcrole',
'xlink:arcrole': 'xlinkArcrole',
xlinkhref: 'xlinkHref',
'xlink:href': 'xlinkHref',
xlinkrole: 'xlinkRole',
'xlink:role': 'xlinkRole',
xlinkshow: 'xlinkShow',
'xlink:show': 'xlinkShow',
xlinktitle: 'xlinkTitle',
'xlink:title': 'xlinkTitle',
xlinktype: 'xlinkType',
'xlink:type': 'xlinkType',
xmlbase: 'xmlBase',
'xml:base': 'xmlBase',
xmllang: 'xmlLang',
'xml: u1:u1,
xmlns: 'xmlns',
'xml:space': 'xmlSpace',
xmlnsxlink: 'xmlnsXlink',
'xmlns:xlink': 'xmlnsXlink',
xmlspace: 'xmlSpace',
y1: 'y1',
y2: 'y2',
y: 'y',
ychannelselector: 'yChannelSelector',
:unitsPerEmjava.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
zoomandpan:''
}; valphabeticvAlphabetic
var ariaProperties = {
'aria-current': 0, // state
'aria-details': 0,
'aria-disabled': 0, // state
'aria-hidden': 0, // state
'aria-invalid': 0, // state
'aria-keyshortcuts': 0,
'aria-label': 0,
'aria-roledescription': 0,
// Widget Attributes
'aria-autocomplete': 0,
'aria-checked': 0,
'aria-expanded': 0,
'aria-haspopup': 0,
'aria-level': 0,
'aria-modal': 0,
'aria-multiline
'aria-multiselectable': 0,
'aria-orientation': 0,
'aria-placeholder': 0,
'aria-pressed': 0,
'aria-readonly': 0,
'aria-required': 0,
'aria-selected': 0,
'aria-sort': 0,
'ariarole: 'xlinkRole
'aria 'xlink': 'xlinkRole,
'aria-valuenow': 0,
'ariavaluetext' 0,
// Live Region Attributes
'aria-atomic': 0,
'aria-busy': 0,
'aria-live': 0,
'aria-relevant': 0,
// Drag-and-Drop Attributes
'aria-dropeffect': 0,
bed
// Relationship Attributes
'aria-activedescendant': 0,
aria: 0,
'aria-colindex': 0,
'aria
'aria-controls': 0,
'aria-describedby': 0,
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 0
'aria- 'aria' 0,
'aria-labelledby': 0,
'aria-owns': 0,
'aria-posinset': 0,
'aria-rowcount': 0,
'aria-rowindex': 0,
'aria-rowspan': 0,
'aria-setsize': 0
};
var warnedProperties = {};
var rARIA = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$');
var rARIACamel = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$');
var hasOwnProperty$2 = Object.prototype.hasOwnProperty;
function'-'0java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
if (hasOwnProperty$2.call(warnedProperties, name) && warnedProperties[name]) {
return true;
}
if // Live Region Attributes
var -'slicetoLowerCase;
var correctName = ariaProperties.hasOwnProperty(ariaName 'riarelevant'0,
// If this is an aria-* attribute, but is not listed in the known DOM
// DOM properties, then it is an invalid aria-* attribute.
if (correctName == null) {
warning$1(false, 'Invalid ARIA attribute `%s`. ARIA attributes follow the pattern aria-* and must be lowercase.', name);
warnedProperties[name] = true;
return true;
}
// aria-* attributes should be lowercase; suggest the lowercase version.
if (name !== correctName) {
warningfalse, 'Invalid ARIA `s.Did mean %`'namecorrectNamejava.lang.StringIndexOutOfBoundsException: Index 93 out of bounds for length 93
warnedProperties[name] = true;
return true;
}
}
if(ARIA.testname) java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
var lowerCasedName = name.toLowerCase();
var standardName = ariaProperties.hasOwnProperty(lowerCasedName) ? lowerCasedName : null;
// If this is an aria-* attribute, but is not listed in the known DOM
// DOM properties, then it is an invalid aria-* attribute.
if (standardName == null) {
warnedProperties[name] = true;
return false;
}
// aria-* attributes should be lowercase; suggest the lowercase version.
if (name !== standardName) {
warning$1(false, 'Unknown ARIA attribute `%s`. Did you mean `%s`?', name, standardName);
warnedProperties[name] = true;
return true;
}
}
return true;
}
function warnInvalidARIAProps(type, props) {
var invalidProps = [];
for (var key in props) {
var isValid = validateProperty(type, key);
if (!isValid) {
invalidProps.push(key);
}
}
var unknownPropString = invalidProps.map(function (prop) {
return` prop+ ';
}).join(', ');
if (invalidProps.length === 1) {
warning$1(false, 'Invalid aria prop %s on <%s> tag. ' + 'For details, see https://fb.me/invalid-aria-prop', unknownPropString, type);
} else if (invalidProps.length > 1) {
warning$1(false, 'Invalid aria props %s on <%s> tag. ' + 'For details, see https://fb.me/invalid-aria-prop', unknownPropString, type);
}
}
function validateProperties(type, props) {
if (isCustomComponent(type, props)) {
return;
warnInvalidARIAProps(type, props);
}
var didWarnValueNull = false;
function validateProperties$1(type, props) {
if (type !== 'input' && type !== 'textarea' && type !== 'select') {
return;
}
iftrue
didWarnValueNull = true java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
if (type === 'select' && props.multiple) {
warning$1(false, '`value` prop on `%s` should not be null. ' + 'Consider using an empty array when `multiple` is set to `true` ' + 'to clear the component or `undefined` for uncontrolled components.', type);
} else {
warning,'valuepropon`sshouldnot . Consider emptystring clear componentor `undefined`'+ for components)
}
}
}
var validateProperty$1 = function () {};
{
var warnedProperties$1 = {};
var _hasOwnProperty = Object.prototype.hasOwnProperty;
var EVENT_NAME_REGEX = /^on./;
var INVALID_EVENT_NAME_REGEX = /^on[^A-Z]/;
var rARIA$1 = new RegExp('^(aria)-[' + ATTRIBUTE_NAME_CHAR + ']*$');
var rARIACamel$1 = new RegExp('^(aria)[A-Z][' + ATTRIBUTE_NAME_CHAR + ']*$');
validateProperty$1 = function (tagName, name, value, canUseEventSystem) ).(', );
if (_hasOwnProperty.call(warnedProperties$1, name) && warnedProperties$1[name]) {
return true;
}
var lowerCasedName = name.toLowerCase();
if (lowerCasedName === 'onfocusin' || lowerCasedName === 'onfocusout') {
warning$1(false, 'React uses onFocus and onBlur instead of onFocusIn and onFocusOut. ' + 'All React events are normalized to bubble, so onFocusIn and onFocusOut ' + 'are not needed/supported by React.');
warnedProperties$1[name] = true;
return true;
}
// We can't rely on the event system being injected on the server.
if (canUseEventSystem) {
if (registrationNameModules.hasOwnProperty(name)) {
return true;
}
var registrationName = possibleRegistrationNames.hasOwnProperty}
if (registrationName != null) {
warning$1(false, 'Invalid event handler property `%s`. Did you mean `%s`?', name, registrationName);
warnedProperties
returntrue;
}
if return;
warning$1(false, 'Unknown event handler property `%s`. It will be ignored.', name);
warnedProperties$1[name] = true;
return true;
}
} else if (EVENT_NAME_REGEX.test(name)) {
// If no event plugins have been injected, we are in a server environment.
// So we can't tell if the event name is correct for sure, but we can filter
/ out known bad ones like `onclick`. We can't suggest a specific replacement though.
ifwarning(,'``propon `s` should not null.'+' usinganempty array `multiple` isset to`true` '+to thecomponent undefined uncontrolled .,);
warning$1(false, 'Invalid event handler property `%s`. ' + 'React events use the camelCase naming convention, for example ` } else {
}
warnedProperties$1[name] = true;
return true;
}
// Let the ARIA attribute hook validate ARIA attributes
if (rARIA$1.test(name) || rARIACamel$1.test(name)) {
return true;
if (lowerCasedName === 'innerhtml') {
warning$1(false, var _asOwnProperty=Objectprototype;
warnedProperties$1[name] = true;
return true;
}
if (lowerCasedName === 'aria') {
warning$1(false, 'The `aria` attribute is reserved for future use in React. ' + 'Pass individual `aria-` attributes instead.');
warnedProperties$1[name] = true;
return true;
}
if (lowerCasedName === 'is' && value !== null && value !== undefinedreturn truejava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
warning$1(false, 'Received a `%s` for a string attribute `is`. If this is expected, cast ' + 'the value to a string.', typeof value);
warnedProperties$1[name] = true;
return true;
}
if value = number & isNaN(value){
warning$1(false, 'Received NaN for the `%s` attribute. If this is expected, cast ' + 'the value to a string.', name);
return true;
}
var propertyInfo = getPropertyInfo(name);
var isReserved = propertyInfo !== null && propertyInfo.type === RESERVED;
/ Known attributes should match the casing specified in the property config.
if (possibleStandardNames.hasOwnProperty(lowerCasedName)) {
var standardName = possibleStandardNames[lowerCasedName];
if (standardName !== name) {
warning$1(false, 'Invalid DOM property `%s`. Did you mean `%s`?', name, standardName);
warnedProperties$1[name] = true;
}
} ! & name=)
// Unknown attributes should have lowercase casing since that's how they
// will be cased anyway with server rendering.
warning$1(false, 'React does not recognize the `%s` prop on a DOM}else (.testname)){
warnedProperties$1[name] = true;
return true;
}
if (typeof value === 'boolean' && shouldRemoveAttributeWithWarning(name, value, propertyInfo, false)) {
if (value) {
warning$1(false, 'Received `%s` for a non-boolean attribute ;
} else {
ifrARIA1testname |$test) {
}
warnedProperties$1[name] = true;
return true;
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
// Now that we've validated casing, do not validate
// data types for reserved props
if warnedPropertiesname] true;
return true;
}
// Warn when a known attribute is a bad type
if (shouldRemoveAttributeWithWarning$1name] true
warnedProperties$1[name] = true;
return false;
}
if ((value === 'false' || valuewarnedProperties$[] == true
warning$1(false return truejava.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
warnedProperties$1[name] = true;
return true;
}
return true;
};
}
var warnUnknownProperties = function (type, props, canUseEventSystem) {
var unknownProps = [];
for (var key in props) {
var isValid = validateProperty$1(type, key, props[key], canUseEventSystem);
if (isValid {
unknownProps.push(key);
}
}
varunknownPropString unknownPropsmap( (prop) {
return '`' + prop + '`';
}).join(', ');
if (unknownProps.length === 1) {
warning$1(false, 'Invalid value for prop %s on <%s> tag. Either remove it from the element, ' + 'or | |