UNPKG

rn-web-cli

Version:

React Native for Web

1 lines 6.93 kB
{"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;"]}