UNPKG

@flexis/ui

Version:

Styleless React Components

94 lines (81 loc) 5.59 kB
import _extends from "@babel/runtime-corejs3/helpers/extends"; import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map"; import _objectWithoutProperties from "@babel/runtime-corejs3/helpers/objectWithoutProperties"; import _classCallCheck from "@babel/runtime-corejs3/helpers/classCallCheck"; import _createClass from "@babel/runtime-corejs3/helpers/createClass"; import _possibleConstructorReturn from "@babel/runtime-corejs3/helpers/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime-corejs3/helpers/getPrototypeOf"; import _inherits from "@babel/runtime-corejs3/helpers/inherits"; import { __decorate } from "tslib"; import React from 'react'; var _createElement = React.createElement; var PureComponent = React.PureComponent, Children = React.Children; import PropTypes from 'prop-types'; import { Bind, omit } from '../../helpers'; import { PrimitivePropType } from '../common/types'; import { style, classes } from './Select.st.css'; export * from './SelectOption'; var Select = /** @class */ function () { var Select = /*#__PURE__*/function (_PureComponent) { _inherits(Select, _PureComponent); function Select() { var _this; _classCallCheck(this, Select); _this = _possibleConstructorReturn(this, _getPrototypeOf(Select).apply(this, arguments)); _this.originalValues = []; return _this; } _createClass(Select, [{ key: "render", value: function render() { var _context; var _this$props = this.props, className = _this$props.className, elementRef = _this$props.elementRef, defaultValue = _this$props.defaultValue, value = _this$props.value, children = _this$props.children, props = _objectWithoutProperties(_this$props, ["className", "elementRef", "defaultValue", "value", "children"]); this.originalValues = _mapInstanceProperty(_context = Children.toArray(children)).call(_context, function (_ref) { var _ref$props = _ref.props, value = _ref$props.value, children = _ref$props.children; return typeof value === 'undefined' ? children : value; }); return _createElement("select", _extends({ ref: elementRef }, omit(props, ['multiple']), { className: style(classes.root, className), onChange: this.onChange, defaultValue: defaultValue, value: value }), children); } }, { key: "onChange", value: function onChange(event) { var onChange = this.props.onChange; if (typeof onChange === 'function') { var selectedIndex = event.currentTarget.options.selectedIndex; var nextValue = this.originalValues[selectedIndex]; onChange(nextValue, event); } } }]); return Select; }(PureComponent); process.env.NODE_ENV !== "production" ? Select.propTypes = { elementRef: PropTypes.func, defaultValue: PrimitivePropType, value: PrimitivePropType, onChange: PropTypes.func, children: PropTypes.node.isRequired } : void 0; __decorate([Bind()], Select.prototype, "onChange", null); return Select; }(); export default Select; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1NlbGVjdC9TZWxlY3QudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBUCxNQVFPLE9BUlA7Ozs7QUFTQSxPQUFPLFNBQVAsTUFBc0IsWUFBdEI7QUFDQSxTQUVDLElBRkQsRUFHQyxJQUhELFFBSU8sZUFKUDtBQUtBLFNBRUMsaUJBRkQsUUFHTyxpQkFIUDtBQUlBLFNBQ0MsS0FERCxFQUVDLE9BRkQsUUFHTyxpQkFIUDtBQUtBLGNBQWMsZ0JBQWQ7O0FBZUEsSUFBQSxNQUFBO0FBQUE7QUFBQSxZQUFBO0FBQUEsTUFBcUIsTUFBckI7QUFBQTs7QUFBQSxzQkFBQTtBQUFBOztBQUFBOzs7QUFVUyxZQUFBLGNBQUEsR0FBOEIsRUFBOUI7QUFWVDtBQWlFQzs7QUFqRUQ7QUFBQTtBQUFBLCtCQVlPO0FBQUE7O0FBQUEsMEJBU0QsS0FBSyxLQVRKO0FBQUEsWUFHSixTQUhJLGVBR0osU0FISTtBQUFBLFlBSUosVUFKSSxlQUlKLFVBSkk7QUFBQSxZQUtKLFlBTEksZUFLSixZQUxJO0FBQUEsWUFNSixLQU5JLGVBTUosS0FOSTtBQUFBLFlBT0osUUFQSSxlQU9KLFFBUEk7QUFBQSxZQVFELEtBUkM7O0FBV0wsYUFBSyxjQUFMLEdBQXNCLGdDQUFBLFFBQVEsQ0FBQyxPQUFULENBQWlCLFFBQWpCLGtCQUErQjtBQUFBLGdDQUNwRCxLQURvRDtBQUFBLGNBRW5ELEtBRm1ELGNBRW5ELEtBRm1EO0FBQUEsY0FHbkQsUUFIbUQsY0FHbkQsUUFIbUQ7QUFBQSxpQkFNcEQsT0FBTyxLQUFQLEtBQWlCLFdBQWpCLEdBQ0csUUFESCxHQUVHLEtBUmlEO0FBQUEsU0FBL0IsQ0FBdEI7QUFXQSxlQUNDO0FBQ0MsVUFBQSxHQUFHLEVBQUU7QUFETixXQUVLLElBQUksQ0FBQyxLQUFELEVBQVEsQ0FBQyxVQUFELENBQVIsQ0FGVDtBQUdDLFVBQUEsU0FBUyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBVCxFQUFlLFNBQWYsQ0FIakI7QUFJQyxVQUFBLFFBQVEsRUFBRSxLQUFLLFFBSmhCO0FBS0MsVUFBQSxZQUFZLEVBQUUsWUFMZjtBQU1DLFVBQUEsS0FBSyxFQUFFO0FBTlIsWUFRRSxRQVJGLENBREQ7QUFZQTtBQTlDRjtBQUFBO0FBQUEsK0JBaURVLEtBakRWLEVBaUQrQztBQUFBLFlBRzVDLFFBSDRDLEdBSXpDLEtBQUssS0FKb0MsQ0FHNUMsUUFINEM7O0FBTTdDLFlBQUksT0FBTyxRQUFQLEtBQW9CLFVBQXhCLEVBQW9DO0FBQUEsY0FHbEMsYUFIa0MsR0FJL0IsS0FBSyxDQUFDLGFBQU4sQ0FBb0IsT0FKVyxDQUdsQyxhQUhrQztBQUtuQyxjQUFNLFNBQVMsR0FBRyxLQUFLLGNBQUwsQ0FBb0IsYUFBcEIsQ0FBbEI7QUFFQSxVQUFBLFFBQVEsQ0FBQyxTQUFELEVBQVksS0FBWixDQUFSO0FBQ0E7QUFDRDtBQWhFRjs7QUFBQTtBQUFBLElBQW9DLGFBQXBDOztBQUVRLDBDQUFBLE1BQUEsQ0FBQSxTQUFBLEdBQVk7QUFDbEIsSUFBQSxVQUFVLEVBQUksU0FBUyxDQUFDLElBRE47QUFFbEIsSUFBQSxZQUFZLEVBQUUsaUJBRkk7QUFHbEIsSUFBQSxLQUFLLEVBQVMsaUJBSEk7QUFJbEIsSUFBQSxRQUFRLEVBQU0sU0FBUyxDQUFDLElBSk47QUFLbEIsSUFBQSxRQUFRLEVBQU0sU0FBUyxDQUFDLElBQVYsQ0FBZTtBQUxYLEdBQVo7O0FBK0NQLEVBQUEsVUFBQSxDQUFBLENBREMsSUFBSSxFQUNMLENBQUEsRSxnQkFBQSxFLFVBQUEsRUFlQyxJQWZELENBQUE7O0FBZ0JELFNBQUEsTUFBQTtBQUFDLENBakVELEVBQUE7O2VBQXFCLE0iLCJzb3VyY2VSb290IjoiIn0=