{"version":3,"sources":["node_modules\\react-dom\\lib\\ReactDOMSelect.js"],"names":["_assign","require","LinkedValueUtils","ReactDOMComponentTree","ReactUpdates","warning","didWarnValueLink","didWarnValueDefaultValue","updateOptionsIfPendingUpdateAndMounted","_rootNodeID","_wrapperState","pendingUpdate","props","_currentElement","value","getValue","updateOptions","Boolean","multiple","getDeclarationErrorAddendum","owner","name","getName","valuePropNames","checkSelectPropTypes","inst","_owner","checkPropTypes","valueLink","undefined","process","env","NODE_ENV","i","length","propName","isArray","Array","propValue","selectedValue","options","getNodeFromInstance","selected","hasOwnProperty","ReactDOMSelect","getHostProps","onChange","mountWrapper","initialValue","defaultValue","listeners","_handleChange","bind","wasMultiple","getSelectValueContext","postUpdateWrapper","event","returnValue","executeOnChange","asap","module","exports"],"mappings":"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","file":"ReactDOMSelect.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 _assign = require('object-assign');\n\nvar LinkedValueUtils = require('./LinkedValueUtils');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactUpdates = require('./ReactUpdates');\n\nvar warning = require('fbjs/lib/warning');\n\nvar didWarnValueLink = false;\nvar didWarnValueDefaultValue = false;\n\nfunction updateOptionsIfPendingUpdateAndMounted() {\n  if (this._rootNodeID && this._wrapperState.pendingUpdate) {\n    this._wrapperState.pendingUpdate = false;\n\n    var props = this._currentElement.props;\n    var value = LinkedValueUtils.getValue(props);\n\n    if (value != null) {\n      updateOptions(this, Boolean(props.multiple), value);\n    }\n  }\n}\n\nfunction getDeclarationErrorAddendum(owner) {\n  if (owner) {\n    var name = owner.getName();\n    if (name) {\n      return ' Check the render method of `' + name + '`.';\n    }\n  }\n  return '';\n}\n\nvar valuePropNames = ['value', 'defaultValue'];\n\n/**\n * Validation function for `value` and `defaultValue`.\n * @private\n */\nfunction checkSelectPropTypes(inst, props) {\n  var owner = inst._currentElement._owner;\n  LinkedValueUtils.checkPropTypes('select', props, owner);\n\n  if (props.valueLink !== undefined && !didWarnValueLink) {\n    process.env.NODE_ENV !== 'production' ? warning(false, '`valueLink` prop on `select` is deprecated; set `value` and `onChange` instead.') : void 0;\n    didWarnValueLink = true;\n  }\n\n  for (var i = 0; i < valuePropNames.length; i++) {\n    var propName = valuePropNames[i];\n    if (props[propName] == null) {\n      continue;\n    }\n    var isArray = Array.isArray(props[propName]);\n    if (props.multiple && !isArray) {\n      process.env.NODE_ENV !== 'production' ? warning(false, 'The `%s` prop supplied to <select> must be an array if ' + '`multiple` is true.%s', propName, getDeclarationErrorAddendum(owner)) : void 0;\n    } else if (!props.multiple && isArray) {\n      process.env.NODE_ENV !== 'production' ? warning(false, 'The `%s` prop supplied to <select> must be a scalar ' + 'value if `multiple` is false.%s', propName, getDeclarationErrorAddendum(owner)) : void 0;\n    }\n  }\n}\n\n/**\n * @param {ReactDOMComponent} inst\n * @param {boolean} multiple\n * @param {*} propValue A stringable (with `multiple`, a list of stringables).\n * @private\n */\nfunction updateOptions(inst, multiple, propValue) {\n  var selectedValue, i;\n  var options = ReactDOMComponentTree.getNodeFromInstance(inst).options;\n\n  if (multiple) {\n    selectedValue = {};\n    for (i = 0; i < propValue.length; i++) {\n      selectedValue['' + propValue[i]] = true;\n    }\n    for (i = 0; i < options.length; i++) {\n      var selected = selectedValue.hasOwnProperty(options[i].value);\n      if (options[i].selected !== selected) {\n        options[i].selected = selected;\n      }\n    }\n  } else {\n    // Do not set `select.value` as exact behavior isn't consistent across all\n    // browsers for all cases.\n    selectedValue = '' + propValue;\n    for (i = 0; i < options.length; i++) {\n      if (options[i].value === selectedValue) {\n        options[i].selected = true;\n        return;\n      }\n    }\n    if (options.length) {\n      options[0].selected = true;\n    }\n  }\n}\n\n/**\n * Implements a <select> host component that allows optionally setting the\n * props `value` and `defaultValue`. If `multiple` is false, the prop must be a\n * stringable. If `multiple` is true, the prop must be an array of stringables.\n *\n * If `value` is not supplied (or null/undefined), user actions that change the\n * selected option will trigger updates to the rendered options.\n *\n * If it is supplied (and not null/undefined), the rendered options will not\n * update in response to user actions. Instead, the `value` prop must change in\n * order for the rendered options to update.\n *\n * If `defaultValue` is provided, any options with the supplied values will be\n * selected.\n */\nvar ReactDOMSelect = {\n  getHostProps: function (inst, props) {\n    return _assign({}, props, {\n      onChange: inst._wrapperState.onChange,\n      value: undefined\n    });\n  },\n\n  mountWrapper: function (inst, props) {\n    if (process.env.NODE_ENV !== 'production') {\n      checkSelectPropTypes(inst, props);\n    }\n\n    var value = LinkedValueUtils.getValue(props);\n    inst._wrapperState = {\n      pendingUpdate: false,\n      initialValue: value != null ? value : props.defaultValue,\n      listeners: null,\n      onChange: _handleChange.bind(inst),\n      wasMultiple: Boolean(props.multiple)\n    };\n\n    if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) {\n      process.env.NODE_ENV !== 'production' ? warning(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 controlled or uncontrolled select ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components') : void 0;\n      didWarnValueDefaultValue = true;\n    }\n  },\n\n  getSelectValueContext: function (inst) {\n    // ReactDOMOption looks at this initial value so the initial generated\n    // markup has correct `selected` attributes\n    return inst._wrapperState.initialValue;\n  },\n\n  postUpdateWrapper: function (inst) {\n    var props = inst._currentElement.props;\n\n    // After the initial mount, we control selected-ness manually so don't pass\n    // this value down\n    inst._wrapperState.initialValue = undefined;\n\n    var wasMultiple = inst._wrapperState.wasMultiple;\n    inst._wrapperState.wasMultiple = Boolean(props.multiple);\n\n    var value = LinkedValueUtils.getValue(props);\n    if (value != null) {\n      inst._wrapperState.pendingUpdate = false;\n      updateOptions(inst, Boolean(props.multiple), value);\n    } else if (wasMultiple !== Boolean(props.multiple)) {\n      // For simplicity, reapply `defaultValue` if `multiple` is toggled.\n      if (props.defaultValue != null) {\n        updateOptions(inst, Boolean(props.multiple), props.defaultValue);\n      } else {\n        // Revert the select back to its default unselected state.\n        updateOptions(inst, Boolean(props.multiple), props.multiple ? [] : '');\n      }\n    }\n  }\n};\n\nfunction _handleChange(event) {\n  var props = this._currentElement.props;\n  var returnValue = LinkedValueUtils.executeOnChange(props, event);\n\n  if (this._rootNodeID) {\n    this._wrapperState.pendingUpdate = true;\n  }\n  ReactUpdates.asap(updateOptionsIfPendingUpdateAndMounted, this);\n  return returnValue;\n}\n\nmodule.exports = ReactDOMSelect;"]}