{"version":3,"sources":["node_modules\\react\\lib\\ReactElement.js"],"names":["_assign","require","ReactCurrentOwner","warning","canDefineProperty","hasOwnProperty","Object","prototype","REACT_ELEMENT_TYPE","RESERVED_PROPS","key","ref","__self","__source","specialPropKeyWarningShown","specialPropRefWarningShown","hasValidRef","config","process","env","NODE_ENV","call","getter","getOwnPropertyDescriptor","get","isReactWarning","undefined","hasValidKey","defineKeyPropWarningGetter","props","displayName","warnAboutAccessingKey","defineProperty","configurable","defineRefPropWarningGetter","warnAboutAccessingRef","ReactElement","type","self","source","owner","element","$$typeof","_owner","_store","enumerable","writable","value","validated","_self","_source","freeze","createElement","children","propName","childrenLength","arguments","length","childArray","Array","i","defaultProps","name","current","createFactory","factory","bind","cloneAndReplaceKey","oldElement","newKey","newElement","cloneElement","isValidElement","object","module","exports"],"mappings":"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","file":"ReactElement.js","sourceRoot":"D:/Work/Office/react-native-on-web/cli/tmpl/project","sourcesContent":["/**\n * Copyright 2014-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\n\nvar warning = require('fbjs/lib/warning');\nvar canDefineProperty = require('./canDefineProperty');\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar REACT_ELEMENT_TYPE = require('./ReactElementSymbol');\n\nvar RESERVED_PROPS = {\n  key: true,\n  ref: true,\n  __self: true,\n  __source: true\n};\n\nvar specialPropKeyWarningShown, specialPropRefWarningShown;\n\nfunction hasValidRef(config) {\n  if (process.env.NODE_ENV !== 'production') {\n    if (hasOwnProperty.call(config, 'ref')) {\n      var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n      if (getter && getter.isReactWarning) {\n        return false;\n      }\n    }\n  }\n  return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n  if (process.env.NODE_ENV !== 'production') {\n    if (hasOwnProperty.call(config, 'key')) {\n      var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n      if (getter && getter.isReactWarning) {\n        return false;\n      }\n    }\n  }\n  return config.key !== undefined;\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n  var warnAboutAccessingKey = function () {\n    if (!specialPropKeyWarningShown) {\n      specialPropKeyWarningShown = true;\n      process.env.NODE_ENV !== 'production' ? warning(false, '%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0;\n    }\n  };\n  warnAboutAccessingKey.isReactWarning = true;\n  Object.defineProperty(props, 'key', {\n    get: warnAboutAccessingKey,\n    configurable: true\n  });\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n  var warnAboutAccessingRef = function () {\n    if (!specialPropRefWarningShown) {\n      specialPropRefWarningShown = true;\n      process.env.NODE_ENV !== 'production' ? warning(false, '%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0;\n    }\n  };\n  warnAboutAccessingRef.isReactWarning = true;\n  Object.defineProperty(props, 'ref', {\n    get: warnAboutAccessingRef,\n    configurable: true\n  });\n}\n\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, no instanceof check\n * will work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} key\n * @param {string|object} ref\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @param {*} owner\n * @param {*} props\n * @internal\n */\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n  var element = {\n    // This tag allow us to uniquely identify this as a React Element\n    $$typeof: REACT_ELEMENT_TYPE,\n\n    // Built-in properties that belong on the element\n    type: type,\n    key: key,\n    ref: ref,\n    props: props,\n\n    // Record the component responsible for creating this element.\n    _owner: owner\n  };\n\n  if (process.env.NODE_ENV !== 'production') {\n    // The validation flag is currently mutative. We put it on\n    // an external backing store so that we can freeze the whole object.\n    // This can be replaced with a WeakMap once they are implemented in\n    // commonly used development environments.\n    element._store = {};\n\n    // To make comparing ReactElements easier for testing purposes, we make\n    // the validation flag non-enumerable (where possible, which should\n    // include every environment we run tests in), so the test framework\n    // ignores it.\n    if (canDefineProperty) {\n      Object.defineProperty(element._store, 'validated', {\n        configurable: false,\n        enumerable: false,\n        writable: true,\n        value: false\n      });\n      // self and source are DEV only properties.\n      Object.defineProperty(element, '_self', {\n        configurable: false,\n        enumerable: false,\n        writable: false,\n        value: self\n      });\n      // Two elements created in two different places should be considered\n      // equal for testing purposes and therefore we hide it from enumeration.\n      Object.defineProperty(element, '_source', {\n        configurable: false,\n        enumerable: false,\n        writable: false,\n        value: source\n      });\n    } else {\n      element._store.validated = false;\n      element._self = self;\n      element._source = source;\n    }\n    if (Object.freeze) {\n      Object.freeze(element.props);\n      Object.freeze(element);\n    }\n  }\n\n  return element;\n};\n\n/**\n * Create and return a new ReactElement of the given type.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.createelement\n */\nReactElement.createElement = function (type, config, children) {\n  var propName;\n\n  // Reserved names are extracted\n  var props = {};\n\n  var key = null;\n  var ref = null;\n  var self = null;\n  var source = null;\n\n  if (config != null) {\n    if (hasValidRef(config)) {\n      ref = config.ref;\n    }\n    if (hasValidKey(config)) {\n      key = '' + config.key;\n    }\n\n    self = config.__self === undefined ? null : config.__self;\n    source = config.__source === undefined ? null : config.__source;\n    // Remaining properties are added to a new props object\n    for (propName in config) {\n      if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n        props[propName] = config[propName];\n      }\n    }\n  }\n\n  // Children can be more than one argument, and those are transferred onto\n  // the newly allocated props object.\n  var childrenLength = arguments.length - 2;\n  if (childrenLength === 1) {\n    props.children = children;\n  } else if (childrenLength > 1) {\n    var childArray = Array(childrenLength);\n    for (var i = 0; i < childrenLength; i++) {\n      childArray[i] = arguments[i + 2];\n    }\n    if (process.env.NODE_ENV !== 'production') {\n      if (Object.freeze) {\n        Object.freeze(childArray);\n      }\n    }\n    props.children = childArray;\n  }\n\n  // Resolve default props\n  if (type && type.defaultProps) {\n    var defaultProps = type.defaultProps;\n    for (propName in defaultProps) {\n      if (props[propName] === undefined) {\n        props[propName] = defaultProps[propName];\n      }\n    }\n  }\n  if (process.env.NODE_ENV !== 'production') {\n    if (key || ref) {\n      if (typeof props.$$typeof === 'undefined' || props.$$typeof !== REACT_ELEMENT_TYPE) {\n        var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n        if (key) {\n          defineKeyPropWarningGetter(props, displayName);\n        }\n        if (ref) {\n          defineRefPropWarningGetter(props, displayName);\n        }\n      }\n    }\n  }\n  return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n};\n\n/**\n * Return a function that produces ReactElements of a given type.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.createfactory\n */\nReactElement.createFactory = function (type) {\n  var factory = ReactElement.createElement.bind(null, type);\n  // Expose the type on the factory and the prototype so that it can be\n  // easily accessed on elements. E.g. `<Foo />.type === Foo`.\n  // This should not be named `constructor` since this may not be the function\n  // that created the element, and it may not even be a constructor.\n  // Legacy hook TODO: Warn if this is accessed\n  factory.type = type;\n  return factory;\n};\n\nReactElement.cloneAndReplaceKey = function (oldElement, newKey) {\n  var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\n\n  return newElement;\n};\n\n/**\n * Clone and return a new ReactElement using element as the starting point.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.cloneelement\n */\nReactElement.cloneElement = function (element, config, children) {\n  var propName;\n\n  // Original props are copied\n  var props = _assign({}, element.props);\n\n  // Reserved names are extracted\n  var key = element.key;\n  var ref = element.ref;\n  // Self is preserved since the owner is preserved.\n  var self = element._self;\n  // Source is preserved since cloneElement is unlikely to be targeted by a\n  // transpiler, and the original source is probably a better indicator of the\n  // true owner.\n  var source = element._source;\n\n  // Owner will be preserved, unless ref is overridden\n  var owner = element._owner;\n\n  if (config != null) {\n    if (hasValidRef(config)) {\n      // Silently steal the ref from the parent.\n      ref = config.ref;\n      owner = ReactCurrentOwner.current;\n    }\n    if (hasValidKey(config)) {\n      key = '' + config.key;\n    }\n\n    // Remaining properties override existing props\n    var defaultProps;\n    if (element.type && element.type.defaultProps) {\n      defaultProps = element.type.defaultProps;\n    }\n    for (propName in config) {\n      if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n        if (config[propName] === undefined && defaultProps !== undefined) {\n          // Resolve default props\n          props[propName] = defaultProps[propName];\n        } else {\n          props[propName] = config[propName];\n        }\n      }\n    }\n  }\n\n  // Children can be more than one argument, and those are transferred onto\n  // the newly allocated props object.\n  var childrenLength = arguments.length - 2;\n  if (childrenLength === 1) {\n    props.children = children;\n  } else if (childrenLength > 1) {\n    var childArray = Array(childrenLength);\n    for (var i = 0; i < childrenLength; i++) {\n      childArray[i] = arguments[i + 2];\n    }\n    props.children = childArray;\n  }\n\n  return ReactElement(element.type, key, ref, self, source, owner, props);\n};\n\n/**\n * Verifies the object is a ReactElement.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a valid component.\n * @final\n */\nReactElement.isValidElement = function (object) {\n  return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n};\n\nmodule.exports = ReactElement;"]}