/**
 * Minified by jsDelivr using Terser v5.37.0.
 * Original file: /npm/react-file-drop@3.1.6/FileDrop.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";var __extends=this&&this.__extends||function(){var e=function(r,t){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)r.hasOwnProperty(t)&&(e[t]=r[t])},e(r,t)};return function(r,t){function a(){this.constructor=r}e(r,t),r.prototype=null===t?Object.create(t):(a.prototype=t.prototype,new a)}}(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0});var prop_types_1=__importDefault(require("prop-types")),react_1=__importDefault(require("react")),FileDrop=function(e){function r(t){var a=e.call(this,t)||this;return a.resetDragging=function(){a.frameDragCounter=0,a.setState({draggingOverFrame:!1,draggingOverTarget:!1})},a.handleWindowDragOverOrDrop=function(e){e.preventDefault()},a.handleFrameDrag=function(e){if(r.eventHasFiles(e))return a.frameDragCounter+="dragenter"===e.type?1:-1,1===a.frameDragCounter?(a.setState({draggingOverFrame:!0}),void(a.props.onFrameDragEnter&&a.props.onFrameDragEnter(e))):0===a.frameDragCounter?(a.setState({draggingOverFrame:!1}),void(a.props.onFrameDragLeave&&a.props.onFrameDragLeave(e))):void 0},a.handleFrameDrop=function(e){a.state.draggingOverTarget||(a.resetDragging(),a.props.onFrameDrop&&a.props.onFrameDrop(e))},a.handleDragOver=function(e){r.eventHasFiles(e)&&(a.setState({draggingOverTarget:!0}),!r.isIE()&&a.props.dropEffect&&(e.dataTransfer.dropEffect=a.props.dropEffect),a.props.onDragOver&&a.props.onDragOver(e))},a.handleDragLeave=function(e){a.setState({draggingOverTarget:!1}),a.props.onDragLeave&&a.props.onDragLeave(e)},a.handleDrop=function(e){if(a.props.onDrop&&r.eventHasFiles(e)){var t=e.dataTransfer?e.dataTransfer.files:null;a.props.onDrop(t,e)}a.resetDragging()},a.handleTargetClick=function(e){a.props.onTargetClick&&a.props.onTargetClick(e),a.resetDragging()},a.stopFrameListeners=function(e){e&&(e.removeEventListener("dragenter",a.handleFrameDrag),e.removeEventListener("dragleave",a.handleFrameDrag),e.removeEventListener("drop",a.handleFrameDrop))},a.startFrameListeners=function(e){e&&(e.addEventListener("dragenter",a.handleFrameDrag),e.addEventListener("dragleave",a.handleFrameDrag),e.addEventListener("drop",a.handleFrameDrop))},a.frameDragCounter=0,a.state={draggingOverFrame:!1,draggingOverTarget:!1},a}return __extends(r,e),r.prototype.componentDidMount=function(){this.startFrameListeners(this.props.frame),this.resetDragging(),window.addEventListener("dragover",this.handleWindowDragOverOrDrop),window.addEventListener("drop",this.handleWindowDragOverOrDrop)},r.prototype.componentDidUpdate=function(e){e.frame!==this.props.frame&&(this.resetDragging(),this.stopFrameListeners(e.frame),this.startFrameListeners(this.props.frame))},r.prototype.componentWillUnmount=function(){this.stopFrameListeners(this.props.frame),window.removeEventListener("dragover",this.handleWindowDragOverOrDrop),window.removeEventListener("drop",this.handleWindowDragOverOrDrop)},r.prototype.render=function(){var e=this.props,r=e.children,t=e.className,a=e.targetClassName,n=e.draggingOverFrameClassName,o=e.draggingOverTargetClassName,i=this.state,s=i.draggingOverTarget,p=a;return i.draggingOverFrame&&(p+=" "+n),s&&(p+=" "+o),react_1.default.createElement("div",{className:t,onDragOver:this.handleDragOver,onDragLeave:this.handleDragLeave,onDrop:this.handleDrop},react_1.default.createElement("div",{className:p,onClick:this.handleTargetClick},r))},r.isIE=function(){return"undefined"!=typeof window&&(-1!==window.navigator.userAgent.indexOf("MSIE")||window.navigator.appVersion.indexOf("Trident/")>0)},r.eventHasFiles=function(e){var r=!1;if(e.dataTransfer){var t=e.dataTransfer.types;for(var a in t)if("Files"===t[a]){r=!0;break}}return r},r.propTypes={className:prop_types_1.default.string,targetClassName:prop_types_1.default.string,draggingOverFrameClassName:prop_types_1.default.string,draggingOverTargetClassName:prop_types_1.default.string,onDragOver:prop_types_1.default.func,onDragLeave:prop_types_1.default.func,onDrop:prop_types_1.default.func,onTargetClick:prop_types_1.default.func,dropEffect:prop_types_1.default.oneOf(["copy","move","link","none"]),frame:function(e,r,t){var a=e[r];return null==a?new Error("Warning: Required prop `"+r+"` was not specified in `"+t+"`"):a===document||a instanceof HTMLElement?void 0:new Error("Warning: Prop `"+r+"` must be one of the following: document, HTMLElement!")},onFrameDragEnter:prop_types_1.default.func,onFrameDragLeave:prop_types_1.default.func,onFrameDrop:prop_types_1.default.func},r.defaultProps={dropEffect:"copy",frame:"undefined"==typeof window?void 0:window.document,className:"file-drop",targetClassName:"file-drop-target",draggingOverFrameClassName:"file-drop-dragging-over-frame",draggingOverTargetClassName:"file-drop-dragging-over-target"},r}(react_1.default.PureComponent);exports.FileDrop=FileDrop;
//# sourceMappingURL=/sm/93e8d3772f41fc102b5c1fd97996805f775005c685641cb67022574c8d644b55.map