{"version":3,"sources":["node_modules\\react-dom\\lib\\ReactDOMTextarea.js"],"names":["_prodInvariant","require","_assign","LinkedValueUtils","ReactDOMComponentTree","ReactUpdates","invariant","warning","didWarnValueLink","didWarnValDefaultVal","forceUpdateIfMounted","_rootNodeID","ReactDOMTextarea","updateWrapper","getHostProps","inst","props","dangerouslySetInnerHTML","process","env","NODE_ENV","hostProps","value","undefined","defaultValue","children","_wrapperState","initialValue","onChange","mountWrapper","checkPropTypes","_currentElement","_owner","valueLink","getValue","Array","isArray","length","listeners","_handleChange","bind","node","getNodeFromInstance","newValue","postMountWrapper","textContent","event","returnValue","executeOnChange","asap","module","exports"],"mappings":"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","file":"ReactDOMTextarea.js","sourceRoot":"d:/Work/Office/react-native-on-web/cli/tmpl/project","sourcesContent":["/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n *\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant'),\n    _assign = require('object-assign');\n\nvar LinkedValueUtils = require('./LinkedValueUtils');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactUpdates = require('./ReactUpdates');\n\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\nvar didWarnValueLink = false;\nvar didWarnValDefaultVal = false;\n\nfunction forceUpdateIfMounted() {\n  if (this._rootNodeID) {\n    // DOM component is still mounted; update\n    ReactDOMTextarea.updateWrapper(this);\n  }\n}\n\n/**\n * Implements a <textarea> host component that allows setting `value`, and\n * `defaultValue`. This differs from the traditional DOM API because value is\n * usually set as PCDATA children.\n *\n * If `value` is not supplied (or null/undefined), user actions that affect the\n * value will trigger updates to the element.\n *\n * If `value` is supplied (and not null/undefined), the rendered element will\n * not trigger updates to the element. Instead, the `value` prop must change in\n * order for the rendered element to be updated.\n *\n * The rendered element will be initialized with an empty value, the prop\n * `defaultValue` if specified, or the children content (deprecated).\n */\nvar ReactDOMTextarea = {\n  getHostProps: function (inst, props) {\n    !(props.dangerouslySetInnerHTML == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, '`dangerouslySetInnerHTML` does not make sense on <textarea>.') : _prodInvariant('91') : void 0;\n\n    // Always set children to the same thing. In IE9, the selection range will\n    // get reset if `textContent` is mutated.  We could add a check in setTextContent\n    // to only set the value if/when the value differs from the node value (which would\n    // completely solve this IE9 bug), but Sebastian+Ben seemed to like this solution.\n    // The value can be a boolean or object so that's why it's forced to be a string.\n    var hostProps = _assign({}, props, {\n      value: undefined,\n      defaultValue: undefined,\n      children: '' + inst._wrapperState.initialValue,\n      onChange: inst._wrapperState.onChange\n    });\n\n    return hostProps;\n  },\n\n  mountWrapper: function (inst, props) {\n    if (process.env.NODE_ENV !== 'production') {\n      LinkedValueUtils.checkPropTypes('textarea', props, inst._currentElement._owner);\n      if (props.valueLink !== undefined && !didWarnValueLink) {\n        process.env.NODE_ENV !== 'production' ? warning(false, '`valueLink` prop on `textarea` is deprecated; set `value` and `onChange` instead.') : void 0;\n        didWarnValueLink = true;\n      }\n      if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValDefaultVal) {\n        process.env.NODE_ENV !== 'production' ? warning(false, 'Textarea elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled textarea ' + 'and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components') : void 0;\n        didWarnValDefaultVal = true;\n      }\n    }\n\n    var value = LinkedValueUtils.getValue(props);\n    var initialValue = value;\n\n    // Only bother fetching default value if we're going to use it\n    if (value == null) {\n      var defaultValue = props.defaultValue;\n      // TODO (yungsters): Remove support for children content in <textarea>.\n      var children = props.children;\n      if (children != null) {\n        if (process.env.NODE_ENV !== 'production') {\n          process.env.NODE_ENV !== 'production' ? warning(false, 'Use the `defaultValue` or `value` props instead of setting ' + 'children on <textarea>.') : void 0;\n        }\n        !(defaultValue == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'If you supply `defaultValue` on a <textarea>, do not pass children.') : _prodInvariant('92') : void 0;\n        if (Array.isArray(children)) {\n          !(children.length <= 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, '<textarea> can only have at most one child.') : _prodInvariant('93') : void 0;\n          children = children[0];\n        }\n\n        defaultValue = '' + children;\n      }\n      if (defaultValue == null) {\n        defaultValue = '';\n      }\n      initialValue = defaultValue;\n    }\n\n    inst._wrapperState = {\n      initialValue: '' + initialValue,\n      listeners: null,\n      onChange: _handleChange.bind(inst)\n    };\n  },\n\n  updateWrapper: function (inst) {\n    var props = inst._currentElement.props;\n\n    var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n    var value = LinkedValueUtils.getValue(props);\n    if (value != null) {\n      // Cast `value` to a string to ensure the value is set correctly. While\n      // browsers typically do this as necessary, jsdom doesn't.\n      var newValue = '' + value;\n\n      // To avoid side effects (such as losing text selection), only set value if changed\n      if (newValue !== node.value) {\n        node.value = newValue;\n      }\n      if (props.defaultValue == null) {\n        node.defaultValue = newValue;\n      }\n    }\n    if (props.defaultValue != null) {\n      node.defaultValue = props.defaultValue;\n    }\n  },\n\n  postMountWrapper: function (inst) {\n    // This is in postMount because we need access to the DOM node, which is not\n    // available until after the component has mounted.\n    var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n    var textContent = node.textContent;\n\n    // Only set node.value if textContent is equal to the expected\n    // initial value. In IE10/IE11 there is a bug where the placeholder attribute\n    // will populate textContent as well.\n    // https://developer.microsoft.com/microsoft-edge/platform/issues/101525/\n    if (textContent === inst._wrapperState.initialValue) {\n      node.value = textContent;\n    }\n  }\n};\n\nfunction _handleChange(event) {\n  var props = this._currentElement.props;\n  var returnValue = LinkedValueUtils.executeOnChange(props, event);\n  ReactUpdates.asap(forceUpdateIfMounted, this);\n  return returnValue;\n}\n\nmodule.exports = ReactDOMTextarea;"]}