@flexis/ui
Version:
Styleless React Components
136 lines (103 loc) • 6.87 kB
JavaScript
;
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=