@flexis/ui
Version:
Styleless React Components
153 lines (126 loc) • 7.84 kB
JavaScript
;
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 _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 _FileDropSt = require("./FileDrop.st.css");
var _createElement = _react.default.createElement;
var PureComponent = _react.default.PureComponent;
var FileSelect =
/** @class */
function () {
var FileSelect = /*#__PURE__*/function (_PureComponent) {
(0, _inherits2.default)(FileSelect, _PureComponent);
function FileSelect() {
var _this;
(0, _classCallCheck2.default)(this, FileSelect);
_this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(FileSelect).apply(this, arguments));
_this.state = {
dragOver: false
};
return _this;
}
(0, _createClass2.default)(FileSelect, [{
key: "render",
value: function render() {
var _this$props = this.props,
className = _this$props.className,
disabled = _this$props.disabled,
children = _this$props.children,
props = (0, _objectWithoutProperties2.default)(_this$props, ["className", "disabled", "children"]);
var dragOver = this.state.dragOver;
return _createElement("div", (0, _extends2.default)({}, (0, _helpers.omit)(props, ['onChange']), {
className: (0, _FileDropSt.style)(_FileDropSt.classes.root, {
disabled: disabled,
dragOver: dragOver
}, className),
onDrag: this.onIgnoredEvent,
onDragStart: this.onIgnoredEvent,
onDragOver: this.onDragOver,
onDragEnter: this.onDragOver,
onDragLeave: this.onDragLeave,
onDragEnd: this.onDragLeave,
onDrop: this.onChange,
"aria-disabled": disabled
}), children);
}
}, {
key: "onIgnoredEvent",
value: function onIgnoredEvent(event) {
event.stopPropagation();
event.preventDefault();
}
}, {
key: "onDragOver",
value: function onDragOver(event) {
event.stopPropagation();
event.preventDefault();
this.setState(function () {
return {
dragOver: true
};
});
}
}, {
key: "onDragLeave",
value: function onDragLeave(event) {
event.stopPropagation();
event.preventDefault();
this.setState(function () {
return {
dragOver: false
};
});
}
}, {
key: "onChange",
value: function onChange(event) {
event.stopPropagation();
event.preventDefault();
var disabled = this.props.disabled;
if (disabled) {
return;
}
this.setState(function () {
return {
dragOver: false
};
});
var onChange = this.props.onChange;
if (typeof onChange === 'function') {
onChange((0, _from.default)(event.dataTransfer.files), event);
}
}
}]);
return FileSelect;
}(PureComponent);
process.env.NODE_ENV !== "production" ? FileSelect.propTypes = {
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, "onDragOver", null);
(0, _tslib.__decorate)([(0, _helpers.Bind)()], FileSelect.prototype, "onDragLeave", null);
(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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0ZpbGVEcm9wL0ZpbGVEcm9wLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFNQTs7QUFDQTs7QUFLQTs7Ozs7QUFvQkEsSUFBQSxVQUFBO0FBQUE7QUFBQSxZQUFBO0FBQUEsTUFBcUIsVUFBckI7QUFBQTs7QUFBQSwwQkFBQTtBQUFBOztBQUFBOztBQVlDLFlBQUEsS0FBQSxHQUFRO0FBQ1AsUUFBQSxRQUFRLEVBQUU7QUFESCxPQUFSO0FBWkQ7QUF5R0M7O0FBekdEO0FBQUE7QUFBQSwrQkFnQk87QUFBQSwwQkFPRCxLQUFLLEtBUEo7QUFBQSxZQUdKLFNBSEksZUFHSixTQUhJO0FBQUEsWUFJSixRQUpJLGVBSUosUUFKSTtBQUFBLFlBS0osUUFMSSxlQUtKLFFBTEk7QUFBQSxZQU1ELEtBTkM7QUFBQSxZQVNKLFFBVEksR0FVRCxLQUFLLEtBVkosQ0FTSixRQVRJO0FBWUwsZUFDQyxpREFDSyxtQkFBSyxLQUFMLEVBQVksQ0FBQyxVQUFELENBQVosQ0FETDtBQUVDLFVBQUEsU0FBUyxFQUFFLHVCQUFNLG9CQUFRLElBQWQsRUFBb0I7QUFDOUIsWUFBQSxRQUFRLEVBQVIsUUFEOEI7QUFFOUIsWUFBQSxRQUFRLEVBQVI7QUFGOEIsV0FBcEIsRUFHUixTQUhRLENBRlo7QUFNQyxVQUFBLE1BQU0sRUFBRSxLQUFLLGNBTmQ7QUFPQyxVQUFBLFdBQVcsRUFBRSxLQUFLLGNBUG5CO0FBUUMsVUFBQSxVQUFVLEVBQUUsS0FBSyxVQVJsQjtBQVNDLFVBQUEsV0FBVyxFQUFFLEtBQUssVUFUbkI7QUFVQyxVQUFBLFdBQVcsRUFBRSxLQUFLLFdBVm5CO0FBV0MsVUFBQSxTQUFTLEVBQUUsS0FBSyxXQVhqQjtBQVlDLFVBQUEsTUFBTSxFQUFFLEtBQUssUUFaZDtBQWFDLDJCQUFlO0FBYmhCLFlBZUUsUUFmRixDQUREO0FBbUJBO0FBL0NGO0FBQUE7QUFBQSxxQ0FpRHdCLEtBakR4QixFQWlEd0M7QUFDdEMsUUFBQSxLQUFLLENBQUMsZUFBTjtBQUNBLFFBQUEsS0FBSyxDQUFDLGNBQU47QUFDQTtBQXBERjtBQUFBO0FBQUEsaUNBdURvQixLQXZEcEIsRUF1RG9DO0FBRWxDLFFBQUEsS0FBSyxDQUFDLGVBQU47QUFDQSxRQUFBLEtBQUssQ0FBQyxjQUFOO0FBRUEsYUFBSyxRQUFMLENBQWM7QUFBQSxpQkFBTztBQUNwQixZQUFBLFFBQVEsRUFBRTtBQURVLFdBQVA7QUFBQSxTQUFkO0FBR0E7QUEvREY7QUFBQTtBQUFBLGtDQWtFcUIsS0FsRXJCLEVBa0VxQztBQUVuQyxRQUFBLEtBQUssQ0FBQyxlQUFOO0FBQ0EsUUFBQSxLQUFLLENBQUMsY0FBTjtBQUVBLGFBQUssUUFBTCxDQUFjO0FBQUEsaUJBQU87QUFDcEIsWUFBQSxRQUFRLEVBQUU7QUFEVSxXQUFQO0FBQUEsU0FBZDtBQUdBO0FBMUVGO0FBQUE7QUFBQSwrQkE2RWtCLEtBN0VsQixFQTZFa0M7QUFFaEMsUUFBQSxLQUFLLENBQUMsZUFBTjtBQUNBLFFBQUEsS0FBSyxDQUFDLGNBQU47QUFIZ0MsWUFNL0IsUUFOK0IsR0FPNUIsS0FBSyxLQVB1QixDQU0vQixRQU4rQjs7QUFTaEMsWUFBSSxRQUFKLEVBQWM7QUFDYjtBQUNBOztBQUVELGFBQUssUUFBTCxDQUFjO0FBQUEsaUJBQU87QUFDcEIsWUFBQSxRQUFRLEVBQUU7QUFEVSxXQUFQO0FBQUEsU0FBZDtBQWJnQyxZQWtCL0IsUUFsQitCLEdBbUI1QixLQUFLLEtBbkJ1QixDQWtCL0IsUUFsQitCOztBQXFCaEMsWUFBSSxPQUFPLFFBQVAsS0FBb0IsVUFBeEIsRUFBb0M7QUFDbkMsVUFBQSxRQUFRLENBQ1AsbUJBQVcsS0FBSyxDQUFDLFlBQU4sQ0FBbUIsS0FBOUIsQ0FETyxFQUVQLEtBRk8sQ0FBUjtBQUlBO0FBQ0Q7QUF4R0Y7QUFBQTtBQUFBLElBQXdDLGFBQXhDOztBQUVRLDBDQUFBLFVBQUEsQ0FBQSxTQUFBLEdBQVk7QUFDbEIsSUFBQSxRQUFRLEVBQUUsbUJBQVUsSUFERjtBQUVsQixJQUFBLFFBQVEsRUFBRSxtQkFBVSxJQUZGO0FBR2xCLElBQUEsUUFBUSxFQUFFLG1CQUFVO0FBSEYsR0FBWjtBQU1BLEVBQUEsVUFBQSxDQUFBLFlBQUEsR0FBZTtBQUNyQixJQUFBLFFBQVEsRUFBRTtBQURXLEdBQWY7QUErQ1AseUJBQUEsQ0FEQyxvQkFDRCxDQUFBLEUsb0JBQUEsRSxZQUFBLEVBUUMsSUFSRDtBQVdBLHlCQUFBLENBREMsb0JBQ0QsQ0FBQSxFLG9CQUFBLEUsYUFBQSxFQVFDLElBUkQ7QUFXQSx5QkFBQSxDQURDLG9CQUNELENBQUEsRSxvQkFBQSxFLFVBQUEsRUEyQkMsSUEzQkQ7QUE0QkQsU0FBQSxVQUFBO0FBQUMsQ0F6R0QsRUFBQTs7ZUFBcUIsVSIsInNvdXJjZVJvb3QiOiIifQ==