{"version":3,"sources":["Select.js"],"names":["createOptions","cx","Select","props","context","state","open","onClick","bind","onClickOption","hideOptions","renderOptions","scrollSelectedOptionInView","children","map","renderOption","getPartClassName","child","index","type","value","renderHiddenInput","name","renderLabel","placeholder","option","findOption","label","part","build","toArray","i","len","length","renderIcon","isOpen","showOptions","setState","layer","popover","getLayer","selectedOptionElement","querySelector","scrollTop","Math","max","offsetTop","disabled","readOnly","e","closing","onChange","target","render","className","addStates","getStyleStates","autoWidth","style","maxHeight","refs","main","displayName","propTypes","string","node","isRequired","layerArchor","oneOf","mainArchor","number","bool","defaultProps","childContextTypes","contextTypes","dataSource","Option","OptionGroup"],"mappings":"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","file":"Select.js","sourcesContent":["/**\n * @file melon/Select\n * @author leon(ludafa@outlook.com)\n */\n\nimport React, {Children} from 'react';\nimport PropTypes from 'prop-types';\nimport Icon from './Icon';\nimport InputComponent from 'melon-core/InputComponent';\nimport Group from './select/OptionGroup';\nimport Option from './select/Option';\nimport {create} from 'melon-core/classname/cxBuilder';\nimport Popover, {alignments} from './Popover';\n\nconst cx = create('Select');\n\n/**\n * melon/Select\n *\n * @extends {melon-core/InputComponent}\n * @class\n */\nexport default class Select extends InputComponent {\n\n /**\n * 构造函数\n *\n * @public\n * @constructor\n * @param {*} props 属性\n * @param {*} context 上下文\n */\n constructor(props, context) {\n\n super(props, context);\n\n /**\n * 状态\n *\n * @type {Object}\n */\n this.state = {\n ...this.state,\n open: false\n };\n\n this.onClick = this.onClick.bind(this);\n this.onClickOption = this.onClickOption.bind(this);\n this.hideOptions = this.hideOptions.bind(this);\n this.renderOptions = this.renderOptions.bind(this);\n this.scrollSelectedOptionInView = this.scrollSelectedOptionInView.bind(this);\n\n }\n\n /**\n * 渲染选项浮层\n *\n * @protected\n * @return {ReactElement}\n */\n renderOptions() {\n\n let children = Children.map(\n this.props.children,\n this.renderOption,\n this\n );\n\n return (\n