{"version":3,"sources":["node_modules\\react-dom\\lib\\ReactDOMOption.js"],"names":["_assign","require","React","ReactDOMComponentTree","ReactDOMSelect","warning","didWarnInvalidOptionChildren","flattenChildren","children","content","Children","forEach","child","process","env","NODE_ENV","ReactDOMOption","mountWrapper","inst","props","hostParent","selected","selectValue","selectParent","_tag","_hostParent","getSelectValueContext","value","Array","isArray","i","length","_wrapperState","postMountWrapper","_currentElement","node","getNodeFromInstance","setAttribute","getHostProps","hostProps","undefined","module","exports"],"mappings":"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","file":"ReactDOMOption.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 React = require('react/lib/React');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactDOMSelect = require('./ReactDOMSelect');\n\nvar warning = require('fbjs/lib/warning');\nvar didWarnInvalidOptionChildren = false;\n\nfunction flattenChildren(children) {\n  var content = '';\n\n  // Flatten children and warn if they aren't strings or numbers;\n  // invalid types are ignored.\n  React.Children.forEach(children, function (child) {\n    if (child == null) {\n      return;\n    }\n    if (typeof child === 'string' || typeof child === 'number') {\n      content += child;\n    } else if (!didWarnInvalidOptionChildren) {\n      didWarnInvalidOptionChildren = true;\n      process.env.NODE_ENV !== 'production' ? warning(false, 'Only strings and numbers are supported as <option> children.') : void 0;\n    }\n  });\n\n  return content;\n}\n\n/**\n * Implements an <option> host component that warns when `selected` is set.\n */\nvar ReactDOMOption = {\n  mountWrapper: function (inst, props, hostParent) {\n    // TODO (yungsters): Remove support for `selected` in <option>.\n    if (process.env.NODE_ENV !== 'production') {\n      process.env.NODE_ENV !== 'production' ? warning(props.selected == null, 'Use the `defaultValue` or `value` props on <select> instead of ' + 'setting `selected` on <option>.') : void 0;\n    }\n\n    // Look up whether this option is 'selected'\n    var selectValue = null;\n    if (hostParent != null) {\n      var selectParent = hostParent;\n\n      if (selectParent._tag === 'optgroup') {\n        selectParent = selectParent._hostParent;\n      }\n\n      if (selectParent != null && selectParent._tag === 'select') {\n        selectValue = ReactDOMSelect.getSelectValueContext(selectParent);\n      }\n    }\n\n    // If the value is null (e.g., no specified value or after initial mount)\n    // or missing (e.g., for <datalist>), we don't change props.selected\n    var selected = null;\n    if (selectValue != null) {\n      var value;\n      if (props.value != null) {\n        value = props.value + '';\n      } else {\n        value = flattenChildren(props.children);\n      }\n      selected = false;\n      if (Array.isArray(selectValue)) {\n        // multiple\n        for (var i = 0; i < selectValue.length; i++) {\n          if ('' + selectValue[i] === value) {\n            selected = true;\n            break;\n          }\n        }\n      } else {\n        selected = '' + selectValue === value;\n      }\n    }\n\n    inst._wrapperState = { selected: selected };\n  },\n\n  postMountWrapper: function (inst) {\n    // value=\"\" should make a value attribute (#6219)\n    var props = inst._currentElement.props;\n    if (props.value != null) {\n      var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n      node.setAttribute('value', props.value);\n    }\n  },\n\n  getHostProps: function (inst, props) {\n    var hostProps = _assign({ selected: undefined, children: undefined }, props);\n\n    // Read state only from initial mount because <select> updates value\n    // manually; we need the initial state only for server rendering\n    if (inst._wrapperState.selected != null) {\n      hostProps.selected = inst._wrapperState.selected;\n    }\n\n    var content = flattenChildren(props.children);\n\n    if (content) {\n      hostProps.children = content;\n    }\n\n    return hostProps;\n  }\n};\n\nmodule.exports = ReactDOMOption;"]}