@flexis/ui
Version:
Styleless React Components
94 lines (81 loc) • 5.59 kB
JavaScript
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=