UNPKG

@flexis/ui

Version:

Styleless React Components

136 lines (103 loc) 6.87 kB
"use strict"; var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys"); var _forEachInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/for-each"); var _context2; var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault"); var _Object$defineProperty = require("@babel/runtime-corejs3/core-js-stable/object/define-property"); _Object$defineProperty(exports, "__esModule", { value: true }); var _exportNames = {}; exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends")); var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/getPrototypeOf")); var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/inherits")); var _tslib = require("tslib"); var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _helpers = require("../../helpers"); var _types = require("../common/types"); var _SelectSt = require("./Select.st.css"); var _SelectOption = require("./SelectOption"); _forEachInstanceProperty(_context2 = _Object$keys(_SelectOption)).call(_context2, function (key) { if (key === "default" || key === "__esModule") return; if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return; _Object$defineProperty(exports, key, { enumerable: true, get: function get() { return _SelectOption[key]; } }); }); var _createElement = _react.default.createElement; var PureComponent = _react.default.PureComponent, Children = _react.default.Children; var Select = /** @class */ function () { var Select = /*#__PURE__*/function (_PureComponent) { (0, _inherits2.default)(Select, _PureComponent); function Select() { var _this; (0, _classCallCheck2.default)(this, Select); _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(Select).apply(this, arguments)); _this.originalValues = []; return _this; } (0, _createClass2.default)(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 = (0, _objectWithoutProperties2.default)(_this$props, ["className", "elementRef", "defaultValue", "value", "children"]); this.originalValues = (0, _map.default)(_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", (0, _extends2.default)({ ref: elementRef }, (0, _helpers.omit)(props, ['multiple']), { className: (0, _SelectSt.style)(_SelectSt.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.default.func, defaultValue: _types.PrimitivePropType, value: _types.PrimitivePropType, onChange: _propTypes.default.func, children: _propTypes.default.node.isRequired } : void 0; (0, _tslib.__decorate)([(0, _helpers.Bind)()], Select.prototype, "onChange", null); return Select; }(); var _default = Select; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1NlbGVjdC9TZWxlY3QudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFTQTs7QUFDQTs7QUFLQTs7QUFJQTs7QUFLQTs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7OztBQWVBLElBQUEsTUFBQTtBQUFBO0FBQUEsWUFBQTtBQUFBLE1BQXFCLE1BQXJCO0FBQUE7O0FBQUEsc0JBQUE7QUFBQTs7QUFBQTs7QUFVUyxZQUFBLGNBQUEsR0FBOEIsRUFBOUI7QUFWVDtBQWlFQzs7QUFqRUQ7QUFBQTtBQUFBLCtCQVlPO0FBQUE7O0FBQUEsMEJBU0QsS0FBSyxLQVRKO0FBQUEsWUFHSixTQUhJLGVBR0osU0FISTtBQUFBLFlBSUosVUFKSSxlQUlKLFVBSkk7QUFBQSxZQUtKLFlBTEksZUFLSixZQUxJO0FBQUEsWUFNSixLQU5JLGVBTUosS0FOSTtBQUFBLFlBT0osUUFQSSxlQU9KLFFBUEk7QUFBQSxZQVFELEtBUkM7QUFXTCxhQUFLLGNBQUwsR0FBc0IsNkJBQUEsUUFBUSxDQUFDLE9BQVQsQ0FBaUIsUUFBakIsa0JBQStCO0FBQUEsZ0NBQ3BELEtBRG9EO0FBQUEsY0FFbkQsS0FGbUQsY0FFbkQsS0FGbUQ7QUFBQSxjQUduRCxRQUhtRCxjQUduRCxRQUhtRDtBQUFBLGlCQU1wRCxPQUFPLEtBQVAsS0FBaUIsV0FBakIsR0FDRyxRQURILEdBRUcsS0FSaUQ7QUFBQSxTQUEvQixDQUF0QjtBQVdBLGVBQ0M7QUFDQyxVQUFBLEdBQUcsRUFBRTtBQUROLFdBRUssbUJBQUssS0FBTCxFQUFZLENBQUMsVUFBRCxDQUFaLENBRkw7QUFHQyxVQUFBLFNBQVMsRUFBRSxxQkFBTSxrQkFBUSxJQUFkLEVBQW9CLFNBQXBCLENBSFo7QUFJQyxVQUFBLFFBQVEsRUFBRSxLQUFLLFFBSmhCO0FBS0MsVUFBQSxZQUFZLEVBQUUsWUFMZjtBQU1DLFVBQUEsS0FBSyxFQUFFO0FBTlIsWUFRRSxRQVJGLENBREQ7QUFZQTtBQTlDRjtBQUFBO0FBQUEsK0JBaURVLEtBakRWLEVBaUQrQztBQUFBLFlBRzVDLFFBSDRDLEdBSXpDLEtBQUssS0FKb0MsQ0FHNUMsUUFINEM7O0FBTTdDLFlBQUksT0FBTyxRQUFQLEtBQW9CLFVBQXhCLEVBQW9DO0FBQUEsY0FHbEMsYUFIa0MsR0FJL0IsS0FBSyxDQUFDLGFBQU4sQ0FBb0IsT0FKVyxDQUdsQyxhQUhrQztBQUtuQyxjQUFNLFNBQVMsR0FBRyxLQUFLLGNBQUwsQ0FBb0IsYUFBcEIsQ0FBbEI7QUFFQSxVQUFBLFFBQVEsQ0FBQyxTQUFELEVBQVksS0FBWixDQUFSO0FBQ0E7QUFDRDtBQWhFRjtBQUFBO0FBQUEsSUFBb0MsYUFBcEM7O0FBRVEsMENBQUEsTUFBQSxDQUFBLFNBQUEsR0FBWTtBQUNsQixJQUFBLFVBQVUsRUFBSSxtQkFBVSxJQUROO0FBRWxCLElBQUEsWUFBWSxFQUFFLHdCQUZJO0FBR2xCLElBQUEsS0FBSyxFQUFTLHdCQUhJO0FBSWxCLElBQUEsUUFBUSxFQUFNLG1CQUFVLElBSk47QUFLbEIsSUFBQSxRQUFRLEVBQU0sbUJBQVUsSUFBVixDQUFlO0FBTFgsR0FBWjtBQStDUCx5QkFBQSxDQURDLG9CQUNELENBQUEsRSxnQkFBQSxFLFVBQUEsRUFlQyxJQWZEO0FBZ0JELFNBQUEsTUFBQTtBQUFDLENBakVELEVBQUE7O2VBQXFCLE0iLCJzb3VyY2VSb290IjoiIn0=