-
Notifications
You must be signed in to change notification settings - Fork 1
/
react-file-drop.js
1 lines (1 loc) · 5.75 KB
/
react-file-drop.js
1
!function(e,r){if("object"==typeof exports&&"object"==typeof module)module.exports=r();else if("function"==typeof define&&define.amd)define([],r);else{var t=r();for(var n in t)("object"==typeof exports?exports:e)[n]=t[n]}}(self,(()=>{return e={742:(e,r,t)=>{"use strict";var n=t(665);function a(){}function o(){}o.resetWarningCache=a,e.exports=function(){function e(e,r,t,a,o,i){if(i!==n){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function r(){return e}e.isRequired=e;var t={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:r,element:e,elementType:e,instanceOf:r,node:e,objectOf:r,oneOf:r,oneOfType:r,shape:r,exact:r,checkPropTypes:o,resetWarningCache:a};return t.PropTypes=t,t}},946:(e,r,t)=>{e.exports=t(742)()},665:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},339:function(e,r,t){"use strict";var n,a=this&&this.__extends||(n=function(e,r){return n=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])},n(e,r)},function(e,r){function t(){this.constructor=e}n(e,r),e.prototype=null===r?Object.create(r):(t.prototype=r.prototype,new t)}),o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(r,"__esModule",{value:!0});var i=o(t(946)),s=o(t(440)),p=function(e){function r(t){var n=e.call(this,t)||this;return n.resetDragging=function(){n.frameDragCounter=0,n.setState({draggingOverFrame:!1,draggingOverTarget:!1})},n.handleWindowDragOverOrDrop=function(e){e.preventDefault()},n.handleFrameDrag=function(e){if(r.eventHasFiles(e))return n.frameDragCounter+="dragenter"===e.type?1:-1,1===n.frameDragCounter?(n.setState({draggingOverFrame:!0}),void(n.props.onFrameDragEnter&&n.props.onFrameDragEnter(e))):0===n.frameDragCounter?(n.setState({draggingOverFrame:!1}),void(n.props.onFrameDragLeave&&n.props.onFrameDragLeave(e))):void 0},n.handleFrameDrop=function(e){n.state.draggingOverTarget||(n.resetDragging(),n.props.onFrameDrop&&n.props.onFrameDrop(e))},n.handleDragOver=function(e){r.eventHasFiles(e)&&(n.setState({draggingOverTarget:!0}),!r.isIE()&&n.props.dropEffect&&(e.dataTransfer.dropEffect=n.props.dropEffect),n.props.onDragOver&&n.props.onDragOver(e))},n.handleDragLeave=function(e){n.setState({draggingOverTarget:!1}),n.props.onDragLeave&&n.props.onDragLeave(e)},n.handleDrop=function(e){if(n.props.onDrop&&r.eventHasFiles(e)){var t=e.dataTransfer?e.dataTransfer.files:null;n.props.onDrop(t,e)}n.resetDragging()},n.handleTargetClick=function(e){n.props.onTargetClick&&n.props.onTargetClick(e),n.resetDragging()},n.stopFrameListeners=function(e){e&&(e.removeEventListener("dragenter",n.handleFrameDrag),e.removeEventListener("dragleave",n.handleFrameDrag),e.removeEventListener("drop",n.handleFrameDrop))},n.startFrameListeners=function(e){e&&(e.addEventListener("dragenter",n.handleFrameDrag),e.addEventListener("dragleave",n.handleFrameDrag),e.addEventListener("drop",n.handleFrameDrop))},n.frameDragCounter=0,n.state={draggingOverFrame:!1,draggingOverTarget:!1},n}return a(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,n=e.targetClassName,a=e.draggingOverFrameClassName,o=e.draggingOverTargetClassName,i=this.state,p=i.draggingOverTarget,g=n;return i.draggingOverFrame&&(g+=" "+a),p&&(g+=" "+o),s.default.createElement("div",{className:t,onDragOver:this.handleDragOver,onDragLeave:this.handleDragLeave,onDrop:this.handleDrop},s.default.createElement("div",{className:g,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 n in t)if("Files"===t[n]){r=!0;break}}return r},r.propTypes={className:i.default.string,targetClassName:i.default.string,draggingOverFrameClassName:i.default.string,draggingOverTargetClassName:i.default.string,onDragOver:i.default.func,onDragLeave:i.default.func,onDrop:i.default.func,onTargetClick:i.default.func,dropEffect:i.default.oneOf(["copy","move","link","none"]),frame:function(e,r,t){var n=e[r];return null==n?new Error("Warning: Required prop `"+r+"` was not specified in `"+t+"`"):n===document||n instanceof HTMLElement?void 0:new Error("Warning: Prop `"+r+"` must be one of the following: document, HTMLElement!")},onFrameDragEnter:i.default.func,onFrameDragLeave:i.default.func,onFrameDrop:i.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}(s.default.PureComponent);r.FileDrop=p},490:(e,r,t)=>{e.exports=t(339)},440:e=>{e.exports=function(){return this.React}()}},r={},function t(n){var a=r[n];if(void 0!==a)return a.exports;var o=r[n]={exports:{}};return e[n].call(o.exports,o,o.exports,t),o.exports}(490);var e,r}));