UNPKG

@flexis/ui

Version:

Styleless React Components

136 lines (107 loc) 7.24 kB
"use strict"; 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 }); exports.default = void 0; var _from = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/array/from")); var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map")); var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends")); 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 _isKeyboardClick = _interopRequireDefault(require("../common/isKeyboardClick")); var _FileSelectSt = require("./FileSelect.st.css"); var _createElement = _react.default.createElement; var PureComponent = _react.default.PureComponent, Children = _react.default.Children, cloneElement = _react.default.cloneElement, isValidElement = _react.default.isValidElement; var FileSelect = /** @class */ function () { var FileSelect = /*#__PURE__*/function (_PureComponent) { (0, _inherits2.default)(FileSelect, _PureComponent); function FileSelect() { (0, _classCallCheck2.default)(this, FileSelect); return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(FileSelect).apply(this, arguments)); } (0, _createClass2.default)(FileSelect, [{ key: "render", value: function render() { var _this = this; var _this$props = this.props, className = _this$props.className, elementRef = _this$props.elementRef, styleProp = _this$props.style, disabled = _this$props.disabled, children = _this$props.children, props = (0, _objectWithoutProperties2.default)(_this$props, ["className", "elementRef", "style", "disabled", "children"]); return _createElement("span", { className: (0, _FileSelectSt.style)(_FileSelectSt.classes.root, className), style: styleProp }, _createElement("input", (0, _extends2.default)({ ref: elementRef }, props, { className: _FileSelectSt.classes.input, tabIndex: -1, type: "file", onChange: this.onChange, disabled: disabled })), (0, _map.default)(Children).call(Children, children, function (child, i) { if (i === 0 && isValidElement(child)) { return cloneElement(child, { 'onKeyPress': _this.onFaceKeyPress, 'aria-disabled': disabled, 'disabled': disabled }); } return child; })); } }, { key: "onChange", value: function onChange(event) { var onChange = this.props.onChange; if (typeof onChange === 'function') { var nextValue = (0, _from.default)(event.currentTarget.files); onChange(nextValue, event); } } }, { key: "onFaceKeyPress", value: function onFaceKeyPress(event) { var currentTarget = event.currentTarget, key = event.key; if ((0, _isKeyboardClick.default)(key)) { var input = currentTarget.previousElementSibling; input.click(); } } }]); return FileSelect; }(PureComponent); process.env.NODE_ENV !== "production" ? FileSelect.propTypes = { elementRef: _propTypes.default.func, style: _propTypes.default.object, onChange: _propTypes.default.func, disabled: _propTypes.default.bool, children: _propTypes.default.node } : void 0; FileSelect.defaultProps = { disabled: false }; (0, _tslib.__decorate)([(0, _helpers.Bind)()], FileSelect.prototype, "onChange", null); return FileSelect; }(); var _default = FileSelect; exports.default = _default; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0ZpbGVTZWxlY3QvRmlsZVNlbGVjdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFhQTs7QUFDQTs7QUFJQTs7QUFDQTs7Ozs7Ozs7QUFrQkEsSUFBQSxVQUFBO0FBQUE7QUFBQSxZQUFBO0FBQUEsTUFBcUIsVUFBckI7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUEsK0JBY087QUFBQTs7QUFBQSwwQkFTRCxLQUFLLEtBVEo7QUFBQSxZQUdKLFNBSEksZUFHSixTQUhJO0FBQUEsWUFJSixVQUpJLGVBSUosVUFKSTtBQUFBLFlBS0csU0FMSCxlQUtKLEtBTEk7QUFBQSxZQU1KLFFBTkksZUFNSixRQU5JO0FBQUEsWUFPSixRQVBJLGVBT0osUUFQSTtBQUFBLFlBUUQsS0FSQztBQVdMLGVBQ0M7QUFDQyxVQUFBLFNBQVMsRUFBRSx5QkFBTSxzQkFBUSxJQUFkLEVBQW9CLFNBQXBCLENBRFo7QUFFQyxVQUFBLEtBQUssRUFBRTtBQUZSLFdBSUM7QUFDQyxVQUFBLEdBQUcsRUFBRTtBQUROLFdBRUssS0FGTDtBQUdDLFVBQUEsU0FBUyxFQUFFLHNCQUFRLEtBSHBCO0FBSUMsVUFBQSxRQUFRLEVBQUUsQ0FBQyxDQUpaO0FBS0MsVUFBQSxJQUFJLEVBQUMsTUFMTjtBQU1DLFVBQUEsUUFBUSxFQUFFLEtBQUssUUFOaEI7QUFPQyxVQUFBLFFBQVEsRUFBRTtBQVBYLFdBSkQsRUFhRSxrQkFBQSxRQUFRLE1BQVIsQ0FBQSxRQUFRLEVBQUssUUFBTCxFQUFlLFVBQUMsS0FBRCxFQUFRLENBQVIsRUFBYTtBQUVwQyxjQUFJLENBQUMsS0FBSyxDQUFOLElBQVcsY0FBYyxDQUFDLEtBQUQsQ0FBN0IsRUFBc0M7QUFDckMsbUJBQU8sWUFBWSxDQUNsQixLQURrQixFQUVsQjtBQUNDLDRCQUFpQixLQUFJLENBQUMsY0FEdkI7QUFFQywrQkFBaUIsUUFGbEI7QUFHQywwQkFBaUI7QUFIbEIsYUFGa0IsQ0FBbkI7QUFRQTs7QUFFRCxpQkFBTyxLQUFQO0FBQ0EsU0FkUSxDQWJWLENBREQ7QUErQkE7QUF4REY7QUFBQTtBQUFBLCtCQTJEa0IsS0EzRGxCLEVBMkRzRDtBQUFBLFlBR25ELFFBSG1ELEdBSWhELEtBQUssS0FKMkMsQ0FHbkQsUUFIbUQ7O0FBTXBELFlBQUksT0FBTyxRQUFQLEtBQW9CLFVBQXhCLEVBQW9DO0FBRW5DLGNBQU0sU0FBUyxHQUFHLG1CQUFXLEtBQUssQ0FBQyxhQUFOLENBQW9CLEtBQS9CLENBQWxCO0FBRUEsVUFBQSxRQUFRLENBQUMsU0FBRCxFQUFZLEtBQVosQ0FBUjtBQUNBO0FBQ0Q7QUF2RUY7QUFBQTtBQUFBLHFDQXlFd0IsS0F6RXhCLEVBeUU0QztBQUFBLFlBR3pDLGFBSHlDLEdBS3RDLEtBTHNDLENBR3pDLGFBSHlDO0FBQUEsWUFJekMsR0FKeUMsR0FLdEMsS0FMc0MsQ0FJekMsR0FKeUM7O0FBTzFDLFlBQUksOEJBQWdCLEdBQWhCLENBQUosRUFBMEI7QUFFekIsY0FBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLHNCQUE1QjtBQUVBLFVBQUEsS0FBSyxDQUFDLEtBQU47QUFDQTtBQUNEO0FBdEZGO0FBQUE7QUFBQSxJQUF3QyxhQUF4Qzs7QUFFUSwwQ0FBQSxVQUFBLENBQUEsU0FBQSxHQUFZO0FBQ2xCLElBQUEsVUFBVSxFQUFFLG1CQUFVLElBREo7QUFFbEIsSUFBQSxLQUFLLEVBQU8sbUJBQVUsTUFGSjtBQUdsQixJQUFBLFFBQVEsRUFBSSxtQkFBVSxJQUhKO0FBSWxCLElBQUEsUUFBUSxFQUFJLG1CQUFVLElBSko7QUFLbEIsSUFBQSxRQUFRLEVBQUksbUJBQVU7QUFMSixHQUFaO0FBUUEsRUFBQSxVQUFBLENBQUEsWUFBQSxHQUFlO0FBQ3JCLElBQUEsUUFBUSxFQUFFO0FBRFcsR0FBZjtBQWlEUCx5QkFBQSxDQURDLG9CQUNELENBQUEsRSxvQkFBQSxFLFVBQUEsRUFZQyxJQVpEO0FBNEJELFNBQUEsVUFBQTtBQUFDLENBdkZELEVBQUE7O2VBQXFCLFUiLCJzb3VyY2VSb290IjoiIn0=