UNPKG

@flexis/ui

Version:

Styleless React Components

114 lines (99 loc) 6.51 kB
import _Array$from from "@babel/runtime-corejs3/core-js-stable/array/from"; import _mapInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/map"; import _extends from "@babel/runtime-corejs3/helpers/extends"; 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, cloneElement = React.cloneElement, isValidElement = React.isValidElement; import PropTypes from 'prop-types'; import { Bind } from '../../helpers'; import isKeyboardClick from '../common/isKeyboardClick'; import { style, classes } from './FileSelect.st.css'; var FileSelect = /** @class */ function () { var FileSelect = /*#__PURE__*/function (_PureComponent) { _inherits(FileSelect, _PureComponent); function FileSelect() { _classCallCheck(this, FileSelect); return _possibleConstructorReturn(this, _getPrototypeOf(FileSelect).apply(this, arguments)); } _createClass(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 = _objectWithoutProperties(_this$props, ["className", "elementRef", "style", "disabled", "children"]); return _createElement("span", { className: style(classes.root, className), style: styleProp }, _createElement("input", _extends({ ref: elementRef }, props, { className: classes.input, tabIndex: -1, type: "file", onChange: this.onChange, disabled: disabled })), _mapInstanceProperty(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 = _Array$from(event.currentTarget.files); onChange(nextValue, event); } } }, { key: "onFaceKeyPress", value: function onFaceKeyPress(event) { var currentTarget = event.currentTarget, key = event.key; if (isKeyboardClick(key)) { var input = currentTarget.previousElementSibling; input.click(); } } }]); return FileSelect; }(PureComponent); process.env.NODE_ENV !== "production" ? FileSelect.propTypes = { elementRef: PropTypes.func, style: PropTypes.object, onChange: PropTypes.func, disabled: PropTypes.bool, children: PropTypes.node } : void 0; FileSelect.defaultProps = { disabled: false }; __decorate([Bind()], FileSelect.prototype, "onChange", null); return FileSelect; }(); export default FileSelect; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0ZpbGVTZWxlY3QvRmlsZVNlbGVjdC50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLE9BQU8sS0FBUCxNQVlPLE9BWlA7Ozs7OztBQWFBLE9BQU8sU0FBUCxNQUFzQixZQUF0QjtBQUNBLFNBRUMsSUFGRCxRQUdPLGVBSFA7QUFJQSxPQUFPLGVBQVAsTUFBNEIsMkJBQTVCO0FBQ0EsU0FDQyxLQURELEVBRUMsT0FGRCxRQUdPLHFCQUhQOztBQWtCQSxJQUFBLFVBQUE7QUFBQTtBQUFBLFlBQUE7QUFBQSxNQUFxQixVQUFyQjtBQUFBOztBQUFBO0FBQUE7O0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUEsK0JBY087QUFBQTs7QUFBQSwwQkFTRCxLQUFLLEtBVEo7QUFBQSxZQUdKLFNBSEksZUFHSixTQUhJO0FBQUEsWUFJSixVQUpJLGVBSUosVUFKSTtBQUFBLFlBS0csU0FMSCxlQUtKLEtBTEk7QUFBQSxZQU1KLFFBTkksZUFNSixRQU5JO0FBQUEsWUFPSixRQVBJLGVBT0osUUFQSTtBQUFBLFlBUUQsS0FSQzs7QUFXTCxlQUNDO0FBQ0MsVUFBQSxTQUFTLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFULEVBQWUsU0FBZixDQURqQjtBQUVDLFVBQUEsS0FBSyxFQUFFO0FBRlIsV0FJQztBQUNDLFVBQUEsR0FBRyxFQUFFO0FBRE4sV0FFSyxLQUZMO0FBR0MsVUFBQSxTQUFTLEVBQUUsT0FBTyxDQUFDLEtBSHBCO0FBSUMsVUFBQSxRQUFRLEVBQUUsQ0FBQyxDQUpaO0FBS0MsVUFBQSxJQUFJLEVBQUMsTUFMTjtBQU1DLFVBQUEsUUFBUSxFQUFFLEtBQUssUUFOaEI7QUFPQyxVQUFBLFFBQVEsRUFBRTtBQVBYLFdBSkQsRUFhRSxxQkFBQSxRQUFRLE1BQVIsQ0FBQSxRQUFRLEVBQUssUUFBTCxFQUFlLFVBQUMsS0FBRCxFQUFRLENBQVIsRUFBYTtBQUVwQyxjQUFJLENBQUMsS0FBSyxDQUFOLElBQVcsY0FBYyxDQUFDLEtBQUQsQ0FBN0IsRUFBc0M7QUFDckMsbUJBQU8sWUFBWSxDQUNsQixLQURrQixFQUVsQjtBQUNDLDRCQUFpQixLQUFJLENBQUMsY0FEdkI7QUFFQywrQkFBaUIsUUFGbEI7QUFHQywwQkFBaUI7QUFIbEIsYUFGa0IsQ0FBbkI7QUFRQTs7QUFFRCxpQkFBTyxLQUFQO0FBQ0EsU0FkUSxDQWJWLENBREQ7QUErQkE7QUF4REY7QUFBQTtBQUFBLCtCQTJEa0IsS0EzRGxCLEVBMkRzRDtBQUFBLFlBR25ELFFBSG1ELEdBSWhELEtBQUssS0FKMkMsQ0FHbkQsUUFIbUQ7O0FBTXBELFlBQUksT0FBTyxRQUFQLEtBQW9CLFVBQXhCLEVBQW9DO0FBRW5DLGNBQU0sU0FBUyxHQUFHLFlBQVcsS0FBSyxDQUFDLGFBQU4sQ0FBb0IsS0FBL0IsQ0FBbEI7O0FBRUEsVUFBQSxRQUFRLENBQUMsU0FBRCxFQUFZLEtBQVosQ0FBUjtBQUNBO0FBQ0Q7QUF2RUY7QUFBQTtBQUFBLHFDQXlFd0IsS0F6RXhCLEVBeUU0QztBQUFBLFlBR3pDLGFBSHlDLEdBS3RDLEtBTHNDLENBR3pDLGFBSHlDO0FBQUEsWUFJekMsR0FKeUMsR0FLdEMsS0FMc0MsQ0FJekMsR0FKeUM7O0FBTzFDLFlBQUksZUFBZSxDQUFDLEdBQUQsQ0FBbkIsRUFBMEI7QUFFekIsY0FBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLHNCQUE1QjtBQUVBLFVBQUEsS0FBSyxDQUFDLEtBQU47QUFDQTtBQUNEO0FBdEZGOztBQUFBO0FBQUEsSUFBd0MsYUFBeEM7O0FBRVEsMENBQUEsVUFBQSxDQUFBLFNBQUEsR0FBWTtBQUNsQixJQUFBLFVBQVUsRUFBRSxTQUFTLENBQUMsSUFESjtBQUVsQixJQUFBLEtBQUssRUFBTyxTQUFTLENBQUMsTUFGSjtBQUdsQixJQUFBLFFBQVEsRUFBSSxTQUFTLENBQUMsSUFISjtBQUlsQixJQUFBLFFBQVEsRUFBSSxTQUFTLENBQUMsSUFKSjtBQUtsQixJQUFBLFFBQVEsRUFBSSxTQUFTLENBQUM7QUFMSixHQUFaO0FBUUEsRUFBQSxVQUFBLENBQUEsWUFBQSxHQUFlO0FBQ3JCLElBQUEsUUFBUSxFQUFFO0FBRFcsR0FBZjs7QUFpRFAsRUFBQSxVQUFBLENBQUEsQ0FEQyxJQUFJLEVBQ0wsQ0FBQSxFLG9CQUFBLEUsVUFBQSxFQVlDLElBWkQsQ0FBQTs7QUE0QkQsU0FBQSxVQUFBO0FBQUMsQ0F2RkQsRUFBQTs7ZUFBcUIsVSIsInNvdXJjZVJvb3QiOiIifQ==