chi-react-keyed-file-browser
Version:
Folder based file browser given a flat keyed list of objects, powered by React.
1 lines • 57.7 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["chi-react-keyed-file-browser"]=t():e["chi-react-keyed-file-browser"]=t()}(window,function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=6)}([function(e,t){e.exports=require("react")},function(e,t){e.exports=require("prop-types")},function(e,t){e.exports=require("moment")},function(e,t){e.exports=require("react-dnd")},function(e,t){e.exports=require("react-dnd-html5-backend")},function(e,t){e.exports=require("classnames")},function(e,t,n){"use strict";n.r(t);var r={};n.r(r),n.d(r,"DefaultDetail",function(){return P});var o={};n.r(o),n.d(o,"DefaultFilter",function(){return T});var i={};n.r(i),n.d(i,"TableHeader",function(){return de});var a={};n.r(a),n.d(a,"ListThumbnailFile",function(){return De}),n.d(a,"SimpleListThumbnailFile",function(){return Ae}),n.d(a,"TableFile",function(){return We}),n.d(a,"RawListThumbnailFile",function(){return Pe}),n.d(a,"RawTableFile",function(){return ze});var l={};n.r(l),n.d(l,"isFolder",function(){return $e});var c={};n.r(c),n.d(c,"ListThumbnailFolder",function(){return pt}),n.d(c,"TableFolder",function(){return Ft}),n.d(c,"RawListThumbnailFolder",function(){return ft}),n.d(c,"RawTableFolder",function(){return wt});var s={};n.r(s),n.d(s,"GroupByFolder",function(){return St}),n.d(s,"GroupByModifiedRelative",function(){return kt});var u={};n.r(u),n.d(u,"SortByName",function(){return jt}),n.d(u,"SortByModified",function(){return At});var f={};n.r(f),n.d(f,"FontAwesome",function(){return Qt});var p=n(1),d=n.n(p),m=n(0),h=n.n(m),y=n(4),b=n.n(y),g=n(3);function v(e){return(v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function w(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function F(e,t){return!t||"object"!==v(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function O(e){return(O=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function E(e,t){return(E=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var S=function(e){function t(){var e,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return(n=F(this,(e=O(t)).call.apply(e,[this].concat(o)))).handleCloseClick=function(e){e&&e.preventDefault(),n.props.close()},n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&E(e,t)}(t,h.a.Component),n=t,(r=[{key:"render",value:function(){var e=this.props.file.key.split("/");return e=e.length?e[e.length-1]:"",h.a.createElement("div",null,h.a.createElement("h2",null,"Item Detail"),h.a.createElement("dl",null,h.a.createElement("dt",null,"Key"),h.a.createElement("dd",null,this.props.file.key),h.a.createElement("dt",null,"Name"),h.a.createElement("dd",null,e)),h.a.createElement("a",{href:"#",onClick:this.handleCloseClick},"Close"))}}])&&w(n.prototype,r),o&&w(n,o),t}();S.propTypes={file:d.a.shape({key:d.a.string.isRequired,name:d.a.string.isRequired,extension:d.a.string.isRequired,url:d.a.string}).isRequired,close:d.a.func};var P=S;function D(e){return(D="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function k(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function C(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function N(e,t){return!t||"object"!==D(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function R(e){return(R=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function j(e,t){return(j=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var _=function(e){function t(){var e,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return(n=N(this,(e=R(t)).call.apply(e,[this].concat(o)))).handleFilterChange=function(e){var t=n.filterRef.value;n.props.updateFilter(t)},n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&j(e,t)}(t,h.a.Component),n=t,(r=[{key:"render",value:function(){var e,t=this;return h.a.createElement("input",(k(e={ref:"filter"},"ref",function(e){t.filterRef=e}),k(e,"type","search"),k(e,"placeholder","Filter files"),k(e,"value",this.props.value),k(e,"onChange",this.handleFilterChange),e))}}])&&C(n.prototype,r),o&&C(n,o),t}();_.propTypes={value:d.a.string.isRequired,updateFilter:d.a.func};var T=_,A=n(5),x=n.n(A);function K(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],r=!0,o=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==l.return||l.return()}finally{if(o)throw i}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}for(var M={},B=0,I=Object.entries({Archive:["zip","rar","7z"],Audio:["mp3","ogg","wav","aac"],Excel:["xls","xlsx"],Image:["jpg","jpeg","png","bmp"],PDF:["pdf"],PowerPoint:["ppt","pptx"],Text:["txt"],Video:["mp4","flv","avi","wmv","mov"],Word:["doc","docx"],Code:["js"]});B<I.length;B++){var L=K(I[B],2),q=L[0],z=L[1],W=!0,G=!1,Y=void 0;try{for(var U,V=z[Symbol.iterator]();!(W=(U=V.next()).done);W=!0){var H=U.value;M[H]=q}}catch(e){G=!0,Y=e}finally{try{W||null==V.return||V.return()}finally{if(G)throw Y}}}function J(e){return(J="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Q(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function X(e,t){return!t||"object"!==J(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Z(e){return(Z=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function $(e,t){return($=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var ee=function(e){function t(){var e,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return(n=X(this,(e=Z(t)).call.apply(e,[this].concat(o)))).state={newName:n.getName()},n.handleFileClick=function(e){e&&e.preventDefault(),n.props.browserProps.preview({url:n.props.url,name:n.getName(),key:n.props.fileKey,extension:n.getExtension()})},n.handleItemClick=function(e){e.stopPropagation(),n.props.browserProps.select(n.props.fileKey,"file")},n.handleItemDoubleClick=function(e){e.stopPropagation(),n.handleFileClick()},n.handleRenameClick=function(e){n.props.browserProps.renameFile&&n.props.browserProps.beginAction("rename",n.props.fileKey)},n.handleNewNameChange=function(e){var t=n.newNameRef.value;n.setState({newName:t})},n.handleRenameSubmit=function(e){if(e&&e.preventDefault(),n.props.browserProps.renameFile){var t=n.state.newName.trim();if(0!==t.length&&-1===t.indexOf("/")){var r=t,o=n.props.fileKey.lastIndexOf("/");-1!==o&&(r="".concat(n.props.fileKey.substr(0,o),"/").concat(t)),n.props.browserProps.renameFile(n.props.fileKey,r)}}},n.handleDeleteClick=function(e){n.props.browserProps.deleteFile&&n.props.browserProps.beginAction("delete",n.props.fileKey)},n.handleDeleteSubmit=function(e){e.preventDefault(),n.props.browserProps.deleteFile&&n.props.browserProps.deleteFile(n.props.fileKey)},n.handleCancelEdit=function(e){n.props.browserProps.endAction()},n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&$(e,t)}(t,h.a.Component),n=t,(r=[{key:"componentDidUpdate",value:function(e,t){var n=this;!e.isRenaming&&this.props.isRenaming&&window.requestAnimationFrame(function(){var e=n.newNameRef.value,t=e.lastIndexOf(".");n.newNameRef.setSelectionRange(0,t||e.length),n.newNameRef.focus()})}},{key:"getName",value:function(){var e=this.props.newKey||this.props.fileKey,t=e.lastIndexOf("/");return-1!==t&&(e=e.substr(t+1)),e}},{key:"getExtension",value:function(){var e=this.props.fileKey.split(".");return e[e.length-1].toLowerCase().trim()}},{key:"getFileType",value:function(){return M[this.getExtension()]||"File"}},{key:"connectDND",value:function(e){var t=this.props.isDragging||this.props.action;return"function"!=typeof this.props.browserProps.moveFile||t||this.props.isRenaming||(e=this.props.connectDragSource(e)),"function"!=typeof this.props.browserProps.createFiles&&"function"!=typeof this.props.browserProps.moveFile&&"function"!=typeof this.props.browserProps.moveFolder||(e=this.props.connectDropTarget(e)),e}}])&&Q(n.prototype,r),o&&Q(n,o),t}();ee.propTypes={fileKey:d.a.string,url:d.a.string,newKey:d.a.string,isRenaming:d.a.bool,connectDragSource:d.a.func,connectDropTarget:d.a.func,isDragging:d.a.bool,action:d.a.string,browserProps:d.a.shape({icons:d.a.object,select:d.a.func,beginAction:d.a.func,endAction:d.a.func,preview:d.a.func,createFiles:d.a.func,moveFile:d.a.func,moveFolder:d.a.func,renameFile:d.a.func,deleteFile:d.a.func})};var te,ne={dragSource:{beginDrag:function(e){return e.browserProps.select(e.fileKey,"file"),{key:e.fileKey}},endDrag:function(e,t,n){if(t.didDrop()){var r=t.getDropResult(),o=e.fileKey.split("/"),i=o[o.length-1],a="".concat(r.path).concat(i);a!==e.fileKey&&e.browserProps.moveFile&&(e.browserProps.openFolder(r.path),e.browserProps.moveFile(e.fileKey,a))}}},dragCollect:function(e,t){return{connectDragPreview:e.dragPreview(),connectDragSource:e.dragSource(),isDragging:t.isDragging()}},targetSource:{drop:function(e,t){if(!t.didDrop()){var n=e.newKey||e.fileKey,r=n.lastIndexOf("/"),o=-1!==r?n.substr(0,r+1):"",i=t.getItem();return i.files&&e.browserProps.createFiles&&e.browserProps.createFiles(i.files,o),{path:o}}}},targetCollect:function(e,t){return{connectDropTarget:e.dropTarget(),isOver:t.isOver({shallow:!0})}}},re=ee;function oe(e){return(oe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ie(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ae(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function le(e,t){return!t||"object"!==oe(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function ce(e){return(ce=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function se(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ue(e,t)}function ue(e,t){return(ue=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var fe=function(e){function t(){return ie(this,t),le(this,ce(t).apply(this,arguments))}var n,r,o;return se(t,h.a.Component),n=t,(r=[{key:"handleHeaderClick",value:function(e){this.props.select(this.props.fileKey)}},{key:"render",value:function(){var e=h.a.createElement("tr",{className:x()("folder",{dragover:this.props.isOver,selected:this.props.isSelected})},h.a.createElement("th",null,"File"),h.a.createElement("th",{className:"size"},"Size"),h.a.createElement("th",{className:"modified"},"Last Modified"));return"function"==typeof this.props.browserProps.createFiles||"function"==typeof this.props.browserProps.moveFile||"function"==typeof this.props.browserProps.moveFolder?this.props.connectDropTarget(e):e}}])&&ae(n.prototype,r),o&&ae(n,o),t}();fe.propTypes={select:d.a.func,fileKey:d.a.string,connectDropTarget:d.a.func,isOver:d.a.bool,isSelected:d.a.func,browserProps:d.a.shape({createFiles:d.a.func,moveFolder:d.a.func,moveFile:d.a.func})};var pe,de=Object(g.DropTarget)(["file","folder",y.NativeTypes.FILE],ne.targetSource,ne.targetCollect)(te=function(e){function t(){return ie(this,t),le(this,ce(t).apply(this,arguments))}return se(t,fe),t}())||te,me=n(2),he=n.n(me);function ye(e){if(e>1024){var t=e/1024;return t>1024?"".concat(function(e,t){if(e=parseFloat(e),isNaN(e))return parseFloat("0").toFixed(t);var n=Math.pow(10,t);return(e=(Math.round(e*n)/n).toFixed(t)).toString()}(t/1024,2)," MB"):"".concat(Math.round(t)," kB")}return"".concat(e," B")}function be(e){return(be="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ge(){return(ge=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function ve(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function we(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Fe(e,t){return!t||"object"!==be(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Oe(e){return(Oe=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ee(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Se(e,t)}function Se(e,t){return(Se=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Pe=function(e){function t(){return ve(this,t),Fe(this,Oe(t).apply(this,arguments))}var n,r,o;return Ee(t,re),n=t,(r=[{key:"render",value:function(){var e,t=this,n=this.props,r=n.thumbnail_url,o=n.action,i=n.url,a=n.isDragging,l=n.isRenaming,c=n.isSelected,s=n.isSelectable,u=n.isOver,f=n.isDeleting,p=n.showName,d=n.showSize,m=n.showModified,y=n.browserProps,b=n.connectDragPreview;e=r?h.a.createElement("div",{className:"image",style:{backgroundImage:"url("+r+")"}}):y.icons[this.getFileType()]||y.icons.File;var g,v,w,F=a||o;p&&(g=!F&&f?h.a.createElement("form",{className:"deleting",onSubmit:this.handleDeleteSubmit},h.a.createElement("a",{href:i,download:"download",onClick:this.handleFileClick},this.getName()),h.a.createElement("div",null,h.a.createElement("button",{type:"submit"},"Confirm Deletion"))):!F&&l?h.a.createElement("form",{className:"renaming",onSubmit:this.handleRenameSubmit},h.a.createElement("input",{ref:function(e){t.newNameRef=e},type:"text",value:this.state.newName,onChange:this.handleNewNameChange,onBlur:this.handleCancelEdit,autoFocus:!0})):h.a.createElement("a",{href:i,download:"download",onClick:this.handleFileClick},this.getName())),d&&(l||f||(v=h.a.createElement("span",{className:"size"},h.a.createElement("small",null,ye(this.props.size))))),m&&(l||f||(w=h.a.createElement("span",{className:"modified"},"Last modified: ",he()(this.props.modified).fromNow())));var O={};s&&(O={onClick:this.handleItemClick});var E=h.a.createElement("li",ge({className:x()("file",{pending:o,dragging:a,dragover:u,selected:c}),onDoubleClick:this.handleItemDoubleClick},O),h.a.createElement("div",{className:"item"},h.a.createElement("span",{className:"thumb"},e),h.a.createElement("span",{className:"name"},g),v,w));return"function"==typeof y.moveFile&&(E=b(E)),this.connectDND(E)}}])&&we(n.prototype,r),o&&we(n,o),t}();Pe.defaultProps={showName:!0,showSize:!0,showModified:!0,isSelectable:!0};var De=Object(g.DragSource)("file",ne.dragSource,ne.dragCollect)(pe=Object(g.DropTarget)(["file","folder",y.NativeTypes.FILE],ne.targetSource,ne.targetCollect)(pe=function(e){function t(){return ve(this,t),Fe(this,Oe(t).apply(this,arguments))}return Ee(t,Pe),t}())||pe)||pe;function ke(e){return(ke="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ce(){return(Ce=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Ne(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Re(e,t){return!t||"object"!==ke(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function je(e){return(je=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _e(e,t){return(_e=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Te,Ae=function(e){function t(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),Re(this,je(t).apply(this,arguments))}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_e(e,t)}(t,h.a.Component),n=t,(r=[{key:"render",value:function(){return h.a.createElement(De,Ce({},this.props,{showName:!1,showSize:!1,showModified:!1,isSelectable:!1}))}}])&&Ne(n.prototype,r),o&&Ne(n,o),t}();function xe(e){return(xe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ke(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Me(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Be(e,t){return!t||"object"!==xe(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Ie(e){return(Ie=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Le(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&qe(e,t)}function qe(e,t){return(qe=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var ze=function(e){function t(){return Ke(this,t),Be(this,Ie(t).apply(this,arguments))}var n,r,o;return Le(t,re),n=t,(r=[{key:"render",value:function(){var e,t=this,n=this.props,r=n.isDragging,o=n.isDeleting,i=n.isRenaming,a=n.isOver,l=n.isSelected,c=n.action,s=n.url,u=n.browserProps,f=n.connectDragPreview,p=n.depth,d=n.size,m=n.modified,y=u.icons[this.getFileType()]||u.icons.File,b=r||c;e=!b&&o?h.a.createElement("form",{className:"deleting",onSubmit:this.handleDeleteSubmit},h.a.createElement("a",{href:s||"#",download:"download",onClick:this.handleFileClick},y,this.getName()),h.a.createElement("div",null,h.a.createElement("button",{type:"submit"},"Confirm Deletion"))):!b&&i?h.a.createElement("form",{className:"renaming",onSubmit:this.handleRenameSubmit},y,h.a.createElement("input",{ref:function(e){t.newNameRef=e},type:"text",value:this.state.newName,onChange:this.handleNewNameChange,onBlur:this.handleCancelEdit,autoFocus:!0})):h.a.createElement("a",{href:s||"#",download:"download",onClick:this.handleFileClick},y,this.getName());var g=h.a.createElement("div",null,e);"function"==typeof u.moveFile&&(g=f(g));var v=h.a.createElement("tr",{className:x()("file",{pending:c,dragging:r,dragover:a,selected:l}),onClick:this.handleItemClick,onDoubleClick:this.handleItemDoubleClick},h.a.createElement("td",{className:"name"},h.a.createElement("div",{style:{paddingLeft:16*p+"px"}},g)),h.a.createElement("td",{className:"size"},ye(d)),h.a.createElement("td",{className:"modified"},void 0===m?"-":he()(m,"x").fromNow()));return this.connectDND(v)}}])&&Me(n.prototype,r),o&&Me(n,o),t}(),We=Object(g.DragSource)("file",ne.dragSource,ne.dragCollect)(Te=Object(g.DropTarget)(["file","folder",y.NativeTypes.FILE],ne.targetSource,ne.targetCollect)(Te=function(e){function t(){return Ke(this,t),Be(this,Ie(t).apply(this,arguments))}return Le(t,ze),t}())||Te)||Te;function Ge(e){return(Ge="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ye(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ue(e,t){return!t||"object"!==Ge(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Ve(e){return(Ve=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function He(e,t){return(He=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Je=function(e){function t(){var e,n;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return(n=Ue(this,(e=Ve(t)).call.apply(e,[this].concat(o)))).state={newName:n.props.isDraft?"New folder":n.getName()},n.selectAllNewName=function(){window.requestAnimationFrame(function(){var e=n.newNameRef.value;n.newNameRef.setSelectionRange(0,e.length),n.newNameRef.focus()})},n.handleFolderClick=function(e){e.stopPropagation(),n.props.browserProps.select(n.props.fileKey,"folder")},n.handleFolderDoubleClick=function(e){e.stopPropagation(),n.toggleFolder()},n.handleRenameClick=function(e){n.props.browserProps.renameFolder&&n.props.browserProps.beginAction("rename",n.props.fileKey)},n.handleNewNameChange=function(e){var t=n.newNameRef.value;n.setState({newName:t})},n.handleRenameSubmit=function(e){if(e.preventDefault(),n.props.browserProps.renameFolder){var t=n.state.newName.trim();if(0!==t.length&&-1===t.indexOf("/")){var r=n.props.fileKey.substr(0,n.props.fileKey.substr(0,n.props.fileKey.length-1).lastIndexOf("/"));r.length&&(r+="/"),r+=t,r+="/",n.props.isDraft?n.props.browserProps.createFolder(r):n.props.browserProps.renameFolder(n.props.fileKey,r)}}},n.handleDeleteClick=function(e){n.props.browserProps.deleteFolder&&n.props.browserProps.beginAction("delete",n.props.fileKey)},n.handleDeleteSubmit=function(e){e.preventDefault(),n.props.browserProps.deleteFolder&&n.props.browserProps.deleteFolder(n.props.fileKey)},n.handleCancelEdit=function(e){n.props.browserProps.endAction()},n.toggleFolder=function(){n.props.browserProps.toggleFolder(n.props.fileKey)},n}var n,r,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&He(e,t)}(t,h.a.Component),n=t,(r=[{key:"componentDidMount",value:function(){this.props.isDraft&&this.selectAllNewName()}},{key:"componentDidUpdate",value:function(e,t){!e.isRenaming&&this.props.isRenaming&&this.selectAllNewName()}},{key:"getName",value:function(){if(this.props.name)return this.props.name;var e=this.props.fileKey.split("/");return this.props.newName||e[e.length-2]}},{key:"connectDND",value:function(e){var t=this.props.isDragging||this.props.action;return this.props.keyDerived&&("function"!=typeof this.props.browserProps.moveFolder||t||this.props.isRenaming||this.props.isDeleting||(e=this.props.connectDragSource(e)),"function"!=typeof this.props.browserProps.createFiles&&"function"!=typeof this.props.browserProps.moveFolder&&"function"!=typeof this.props.browserProps.moveFile||(e=this.props.connectDropTarget(e))),e}}])&&Ye(n.prototype,r),o&&Ye(n,o),t}();Je.propTypes={name:d.a.string,fileKey:d.a.string,newName:d.a.string,keyDerived:d.a.bool,isDraft:d.a.bool,isRenaming:d.a.bool,isDeleting:d.a.bool,connectDragSource:d.a.func,connectDropTarget:d.a.func,isDragging:d.a.bool,action:d.a.string,browserProps:d.a.shape({select:d.a.func,toggleFolder:d.a.func,beginAction:d.a.func,endAction:d.a.func,preview:d.a.func,createFiles:d.a.func,createFolder:d.a.func,moveFile:d.a.func,moveFolder:d.a.func,renameFolder:d.a.func,deleteFolder:d.a.func})};var Qe,Xe={dragSource:{beginDrag:function(e){return e.browserProps.select(e.fileKey,"folder"),{key:e.fileKey}},endDrag:function(e,t,n){if(t.didDrop()){var r=t.getDropResult(),o=e.fileKey.split("/"),i=o[o.length-2],a="".concat(r.path).concat(i,"/");a.substr(0,e.fileKey.length)!==e.fileKey&&a!==e.fileKey&&e.browserProps.moveFolder&&(e.browserProps.openFolder(r.path),e.browserProps.moveFolder(e.fileKey,a))}}},dragCollect:function(e,t){return{connectDragPreview:e.dragPreview(),connectDragSource:e.dragSource(),isDragging:t.isDragging()}}},Ze=Je;function $e(e){return e.key.endsWith("/")}function et(e){return(et="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function tt(){return(tt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function nt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){rt(e,t,n[t])})}return e}function rt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ot(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function it(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function at(e,t){return!t||"object"!==et(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function lt(e){return(lt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ct(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&st(e,t)}function st(e,t){return(st=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var ut,ft=function(e){function t(){return ot(this,t),at(this,lt(t).apply(this,arguments))}var n,r,o;return ct(t,Ze),n=t,(r=[{key:"render",value:function(){var e,t,n=this,r=this.props,o=r.isOpen,i=r.isDragging,a=r.isDeleting,l=r.isRenaming,c=r.isDraft,s=r.isOver,u=r.isSelected,f=r.url,p=r.action,d=r.browserProps,m=r.depth,y=r.keyDerived,b=r.connectDragPreview,g=d.icons[o?"FolderOpen":"Folder"],v=i||p;if(e=!v&&a?h.a.createElement("form",{className:"deleting",onSubmit:this.handleDeleteSubmit},h.a.createElement("a",{href:f,download:"download",onClick:this.handleFileClick},this.getName()),h.a.createElement("div",null,h.a.createElement("button",{type:"submit"},"Confirm Deletion"))):!v&&l||c?h.a.createElement("div",null,h.a.createElement("form",{className:"renaming",onSubmit:this.handleRenameSubmit},h.a.createElement("input",{type:"text",ref:function(e){n.newNameRef=e},value:this.state.newName,onChange:this.handleNewNameChange,onBlur:this.handleCancelEdit,autoFocus:!0}))):h.a.createElement("div",null,h.a.createElement("a",{onClick:this.toggleFolder},this.getName())),o&&d.nestChildren){t=[];for(var w=0;w<t.length;w++){var F=t[w],O=nt({},d.getItemProps(F,d),{depth:m+1});$e(F)?t.push(h.a.createElement(d.folderRenderer,tt({},F,O,{browserProps:d},d.folderRendererProps))):t.push(h.a.createElement(d.fileRenderer,tt({},F,O,{browserProps:d},d.fileRendererProps)))}t=t.length?h.a.createElement("ul",{style:{padding:"0 8px",paddingLeft:"16px"}},t):h.a.createElement("p",null,"No items in this folder")}var E=h.a.createElement("li",{className:x()("folder",{expanded:o&&d.nestChildren,pending:p,dragging:i,dragover:s,selected:u}),onClick:this.handleFolderClick,onDoubleClick:this.handleFolderDoubleClick},h.a.createElement("div",{className:"item"},h.a.createElement("span",{className:"thumb"},g),h.a.createElement("span",{className:"name"},e)),t);return"function"==typeof d.moveFolder&&y&&(E=b(E)),this.connectDND(E)}}])&&it(n.prototype,r),o&&it(n,o),t}(),pt=Object(g.DragSource)("folder",Xe.dragSource,Xe.dragCollect)(Qe=Object(g.DropTarget)(["file","folder",y.NativeTypes.FILE],ne.targetSource,ne.targetCollect)(Qe=function(e){function t(){return ot(this,t),at(this,lt(t).apply(this,arguments))}return ct(t,ft),t}())||Qe)||Qe;function dt(e){return(dt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function mt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ht(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function yt(e,t){return!t||"object"!==dt(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function bt(e){return(bt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function gt(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&vt(e,t)}function vt(e,t){return(vt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var wt=function(e){function t(){return mt(this,t),yt(this,bt(t).apply(this,arguments))}var n,r,o;return gt(t,Ze),n=t,(r=[{key:"render",value:function(){var e,t=this,n=this.props,r=n.isOpen,o=n.isDragging,i=n.isDeleting,a=n.isRenaming,l=n.isDraft,c=n.isOver,s=n.isSelected,u=n.action,f=n.url,p=n.browserProps,d=n.connectDragPreview,m=n.depth,y=p.icons[r?"FolderOpen":"Folder"],b=o||u;e=!b&&i?h.a.createElement("form",{className:"deleting",onSubmit:this.handleDeleteSubmit},h.a.createElement("a",{href:f,download:"download",onClick:this.handleFileClick},y,this.getName()),h.a.createElement("div",null,h.a.createElement("button",{type:"submit"},"Confirm Deletion"))):!b&&a||l?h.a.createElement("div",null,h.a.createElement("form",{className:"renaming",onSubmit:this.handleRenameSubmit},y,h.a.createElement("input",{type:"text",ref:function(e){t.newNameRef=e},value:this.state.newName,onChange:this.handleNewNameChange,onBlur:this.handleCancelEdit,autoFocus:!0}))):h.a.createElement("div",null,h.a.createElement("a",{onClick:this.toggleFolder},y,this.getName())),"function"==typeof p.moveFolder&&(e=d(e));var g=h.a.createElement("tr",{className:x()("folder",{pending:u,dragging:o,dragover:c,selected:s}),onClick:this.handleFolderClick,onDoubleClick:this.handleFolderDoubleClick},h.a.createElement("td",{className:"name"},h.a.createElement("div",{style:{paddingLeft:16*m+"px"}},e)),h.a.createElement("td",null),h.a.createElement("td",null));return this.connectDND(g)}}])&&ht(n.prototype,r),o&&ht(n,o),t}(),Ft=Object(g.DragSource)("folder",Xe.dragSource,Xe.dragCollect)(ut=Object(g.DropTarget)(["file","folder",y.NativeTypes.FILE],ne.targetSource,ne.targetCollect)(ut=function(e){function t(){return mt(this,t),yt(this,bt(t).apply(this,arguments))}return gt(t,wt),t}())||ut)||ut;function Ot(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Et(e,t,n[t])})}return e}function Et(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var St=function(e,t){var n={contents:[],children:{}};return e.map(function(e){e.relativeKey=(e.newKey||e.key).substr(t.length);var r=n,o=e.relativeKey.split("/");o.map(function(t,n){if(n===o.length-1&&$e(e))for(var i in e)r[i]=e[i];""!==t&&(!$e(e)&&n===o.length-1?r.contents.push(Ot({},e,{keyDerived:!0})):(t in r.children==!1&&(r.children[t]={contents:[],children:{}}),r=r.children[t]))})}),e=function e(n,r){""!==r&&(r+="/");var o=[];for(var i in n.children)o.push(Ot({},n.children[i],{contents:void 0,keyDerived:!0,key:t+r+i+"/",relativeKey:r+i+"/",children:e(n.children[i],r+i),size:0}));return o=o.concat(n.contents)}(n,"")};function Pt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Dt(e,t,n[t])})}return e}function Dt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var kt=function(e,t){for(var n,r,o=(n=[],r=he()(),n.push({name:"Today",begins:he()().startOf("day"),ends:he()().endOf("day"),items:[]}),n.push({name:"Yesterday",begins:he()(n[n.length-1].begins-he.a.duration(24,"hours")),ends:he()(n[n.length-1].ends-he.a.duration(24,"hours")),items:[]}),n.push({name:"Earlier this Week",begins:n[0].begins.clone().startOf("week"),ends:n[0].begins.clone().startOf("week").endOf("week"),items:[]}),n.push({name:"Last Week",begins:he()(n[2].begins-he.a.duration(7,"days")),ends:he()(n[2].begins-he.a.duration(7,"days")).endOf("week"),items:[]}),he()(n[n.length-1].begins).month()===r.month()&&n.push({name:"Earlier this Month",begins:he()().startOf("month"),ends:he()().startOf("month").endOf("month"),items:[]}),n),i=0;i<e.length;i++){var a=e[i];if(!$e(a)){for(var l=Pt({},a,{keyDerived:!0}),c=!1,s=+he()(l.modified),u=0;u<o.length;u++){var f=o[u];if(s>+f.begins&&s<=+f.ends){f.items.push(l),c=!0;break}}if(!c){var p={name:he()(l.modified).format("MMMM YYYY"),begins:he()(l.modified).startOf("month"),ends:he()(l.modified).startOf("month").endOf("month"),items:[]};p.items.push(l),o.push(p)}}}for(var d=[],m=0;m<o.length;m++){var h=o[m];h.items.length&&d.push({key:"".concat(h.name.toLowerCase().replace(" ","_"),"/"),name:h.name,children:h.items,size:0})}return d},Ct=/(-?\d*\.?\d+)/g;function Nt(e,t){for(var n=String(e.name).split(Ct),r=String(t.name).split(Ct),o=Math.min(n.length,r.length),i=0;i<o;i++){var a=parseFloat(n[i])||n[i].toLowerCase(),l=parseFloat(r[i])||r[i].toLowerCase();if(a<l)return-1;if(a>l)return 1}return 0}function Rt(e,t){return e.draft&&!t.draft?1:t.draft&&!e.draft?-1:Nt(e,t)}var jt=function(e){return function e(t){for(var n=[],r=[],o=0;o<t.length;o++){var i=t[o],a=(i.newKey||i.key).split("/");i.children?(i.name||(i.name=a[a.length-2]),n.push(i)):(i.name||(i.name=a[a.length-1]),r.push(i))}r=r.sort(Nt),n=n.sort(Rt);for(var l=0;l<n.length;l++){var c=n[l];c.children=e(c.children)}var s=[];return s=(s=s.concat(n)).concat(r)}(e)};function _t(e,t){return+he()(e.modified)<+he()(t.modified)}var Tt,At=function(e){return function e(t){for(var n=[],r=[],o=0;o<t.length;o++){var i=t[o],a=(i.newKey||i.key).split("/");i.children?n.push(i):(i.name=a[a.length-1],r.push(i))}r=r.sort(_t);for(var l=0;l<n.length;l++){var c=n[l];c.children=e(c.children)}var s=[];return s=(s=s.concat(n)).concat(r)}(e)};function xt(e){return(xt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Kt(){return(Kt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Mt(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){Bt(e,t,n[t])})}return e}function Bt(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function It(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Lt(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function qt(e,t){return!t||"object"!==xt(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function zt(e){return(zt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Wt(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Gt(e,t)}function Gt(e,t){return(Gt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}var Yt=20;function Ut(e,t){return{key:"file-".concat(e.key),fileKey:e.key,isSelected:e.key===t.selection,isOpen:e.key in t.openFolders||t.nameFilter,isRenaming:"rename"===t.activeAction&&t.actionTarget===e.key,isDeleting:"delete"===t.activeAction&&t.actionTarget===e.key,isDraft:!!e.draft}}var Vt=function(e){function t(){var e,n;It(this,t);for(var r=arguments.length,o=new Array(r),i=0;i<r;i++)o[i]=arguments[i];return(n=qt(this,(e=zt(t)).call.apply(e,[this].concat(o)))).state={openFolders:{},selection:null,activeAction:null,actionTarget:null,nameFilter:"",searchResultsShown:Yt,previewFile:null,addFolder:null},n.getFile=function(e){return n.props.files.find(function(t){return t.key===e})},n.createFiles=function(e,t){n.setState(function(e){var n={selection:null};return t&&(n.openFolders=Mt({},e.openFolders,Bt({},t,!0))),n},function(){n.props.onCreateFiles(e,t)})},n.createFolder=function(e){n.setState({activeAction:null,actionTarget:null,selection:e},n.props.onCreateFolder(e))},n.moveFile=function(e,t){n.setState({activeAction:null,actionTarget:null,selection:t},function(){n.props.onMoveFile(e,t)})},n.moveFolder=function(e,t){n.setState(function(n){var r={activeAction:null,actionTarget:null,selection:t};return e in n.openFolders&&(r.openFolders=Mt({},n.openFolders,Bt({},t,!0))),r},function(){n.props.onMoveFolder(e,t)})},n.renameFile=function(e,t){n.setState({activeAction:null,actionTarget:null,selection:t},function(){n.props.onRenameFile(e,t)})},n.renameFolder=function(e,t){n.setState(function(n){var r={activeAction:null,actionTarget:null};return n.selection.substr(0,e.length)===e&&(r.selection=n.selection.replace(e,t)),e in n.openFolders&&(r.openFolders=Mt({},n.openFolders,Bt({},t,!0))),r},function(){n.props.onRenameFolder(e,t)})},n.deleteFile=function(e){n.setState({activeAction:null,actionTarget:null,selection:null},function(){n.props.onDeleteFile(e)})},n.deleteFolder=function(e){n.setState(function(t){var n={activeAction:null,actionTarget:null,selection:null};return e in t.openFolders&&(n.openFolders=Mt({},t.openFolders),delete n.openFolders[e]),n},function(){n.props.onDeleteFolder(e)})},n.downloadFile=function(e){n.setState({activeAction:null,actionTarget:null},function(){n.props.onDownloadFile(e)})},n.beginAction=function(e,t){n.setState({activeAction:e,actionTarget:t})},n.endAction=function(){null!==n.state.selection&&-1!==n.state.selection.indexOf("__new__")&&n.setState({selection:null}),n.beginAction(null,null)},n.select=function(e,t){var r=n.state.actionTarget,o=null!==r&&r!==e,i=n.getFile(e);n.setState(function(t){return{selection:e,actionTarget:o?null:r,activeAction:o?null:t.activeAction}},function(){n.props.onSelect(i),"file"===t&&n.props.onSelectFile(i),"folder"===t&&n.props.onSelectFolder(i)})},n.preview=function(e){n.state.previewFile&&n.state.previewFile.key!==e.key&&n.closeDetail(),n.setState({previewFile:e},function(){n.props.onPreviewOpen(e)})},n.closeDetail=function(){n.setState({previewFile:null},function(){n.props.onPreviewClose(n.state.previewFile)})},n.handleShowMoreClick=function(e){e.preventDefault(),n.setState(function(e){return{searchResultsShown:e.searchResultsShown+Yt}})},n.toggleFolder=function(e){var t=e in n.state.openFolders;n.setState(function(n){var r={openFolders:Mt({},n.openFolders)};return t?delete r.openFolders[e]:r.openFolders[e]=!0,r},function(){var r=t?"onFolderClose":"onFolderOpen";n.props[r](n.getFile(e))})},n.openFolder=function(e){n.setState(function(t){return{openFolders:Mt({},t.openFolders,Bt({},e,!0))}},function(){n.props.onFolderOpen(n.getFile(e))})},n.handleGlobalClick=function(e){var t=!(!n.browserRef||!n.browserRef.contains(e.target)),r=!(!n.previewRef||!n.previewRef.contains(e.target));t||r||n.setState({selection:null,actionTarget:null,activeAction:null})},n.handleActionBarRenameClick=function(e){e.preventDefault(),n.beginAction("rename",n.state.selection)},n.handleActionBarDeleteClick=function(e){e.preventDefault(),n.beginAction("delete",n.state.selection)},n.handleActionBarAddFolderClick=function(e){e.preventDefault(),"createFolder"!==n.state.activeAction&&n.setState(function(e){var t="";e.selection&&"/"!==(t+=e.selection).substr(t.length-1,t.length)&&(t+="/");var r={actionTarget:t+="__new__/",activeAction:"createFolder",selection:t};return e.selection&&(r.openFolders=Mt({},e.openFolders,Bt({},n.state.selection,!0))),r})},n.handleActionBarDownloadClick=function(e){e.preventDefault(),n.downloadFile(n.state.selection)},n.updateFilter=function(e){n.setState({nameFilter:e,searchResultsShown:Yt})},n}var n,r,o;return Wt(t,h.a.Component),n=t,(r=[{key:"componentDidMount",value:function(){"table"===this.props.renderStyle&&this.props.nestChildren&&console.warn("Invalid settings: Cannot nest table children in file browser"),window.addEventListener("click",this.handleGlobalClick)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("click",this.handleGlobalClick)}},{key:"getBrowserProps",value:function(){return{nestChildren:this.props.nestChildren,fileRenderer:this.props.fileRenderer,fileRendererProps:this.props.fileRendererProps,folderRenderer:this.props.folderRenderer,folderRendererProps:this.props.folderRendererProps,icons:this.props.icons,openFolders:this.state.openFolders,nameFilter:this.state.nameFilter,selection:this.state.selection,activeAction:this.state.activeAction,actionTarget:this.state.actionTarget,select:this.select,openFolder:this.openFolder,toggleFolder:this.toggleFolder,beginAction:this.beginAction,endAction:this.endAction,preview:this.preview,createFiles:this.props.onCreateFiles?this.createFiles:void 0,createFolder:this.props.onCreateFolder?this.createFolder:void 0,renameFile:this.props.onRenameFile?this.renameFile:void 0,renameFolder:this.props.onRenameFolder?this.renameFolder:void 0,moveFile:this.props.onMoveFile?this.moveFile:void 0,moveFolder:this.props.onMoveFolder?this.moveFolder:void 0,deleteFile:this.props.onDeleteFile?this.deleteFile:void 0,deleteFolder:this.props.onDeleteFolder?this.deleteFolder:void 0,getItemProps:Ut}}},{key:"renderActionBar",value:function(e){var t,n,r=this.props,o=r.icons,i=r.canFilter,a=r.filterRendererProps,l=r.filterRenderer,c=r.onCreateFolder,s=r.onRenameFile,u=r.onRenameFolder,f=r.onDeleteFile,p=r.onDeleteFolder,d=r.onDownloadFile,m=e&&!e.size;if(i&&(t=h.a.createElement(l,Kt({value:this.state.nameFilter,updateFilter:this.updateFilter},a))),e)if(e.action){var y;switch(e.action){case"delete":y="Deleting ...";break;case"rename":y="Renaming ...";break;default:y="Moving ..."}n=h.a.createElement("div",{className:"item-actions"},o.Loading," ",y)}else n=[],m&&"function"==typeof c&&!this.state.nameFilter&&n.push(h.a.createElement("li",{key:"action-add-folder"},h.a.createElement("a",{onClick:this.handleActionBarAddFolderClick,href:"#",role:"button"},o.Folder," Add Subfolder"))),e.keyDerived&&(!m&&"function"==typeof s||m&&"function"==typeof u)&&n.push(h.a.createElement("li",{key:"action-rename"},h.a.createElement("a",{onClick:this.handleActionBarRenameClick,href:"#",role:"button"},o.Rename," Rename"))),e.keyDerived&&(!m&&"function"==typeof f||m&&"function"==typeof p)&&n.push(h.a.createElement("li",{key:"action-delete"},h.a.createElement("a",{onClick:this.handleActionBarDeleteClick,href:"#",role:"button"},o.Delete," Delete"))),m||"function"!=typeof d||n.push(h.a.createElement("li",{key:"action-download"},h.a.createElement("a",{onClick:this.handleActionBarDownloadClick,href:"#",role:"button"},o.Download," Download"))),n=n.length?h.a.createElement("ul",{className:"item-actions"},n):h.a.createElement("div",{className:"item-actions"}," ");else n=[],"function"!=typeof c||this.state.nameFilter||n.push(h.a.createElement("li",{key:"action-add-folder"},h.a.createElement("a",{onClick:this.handleActionBarAddFolderClick,href:"#",role:"button"},o.Folder," Add Folder"))),n=n.length?h.a.createElement("ul",{className:"item-actions"},n):h.a.createElement("div",{className:"item-actions"}," ");return h.a.createElement("div",{className:"action-bar"},t,n)}},{key:"renderFiles",value:function(e,t){var n=this,r=this.props,o=r.fileRenderer,i=r.fileRendererProps,a=r.folderRenderer,l=r.folderRendererProps,c=this.getBrowserProps(),s=[];return e.map(function(e){var r=Mt({},c.getItemProps(e,c),{depth:n.state.nameFilter?0:t});$e(e)?(n.state.nameFilter||s.push(h.a.createElement(a,Kt({},e,r,{browserProps:c},l))),(n.state.nameFilter||r.isOpen&&!c.nestChildren)&&(s=s.concat(n.renderFiles(e.children,t+1)))):s.push(h.a.createElement(o,Kt({},e,r,{browserProps:c},i)))}),s}},{key:"render",value:function(){var e,t=this,n={browserProps:this.getBrowserProps(),fileKey:"",fileCount:this.props.files.length},r=this.props.files.concat([]);if("createFolder"===this.state.activeAction&&r.push({key:this.state.actionTarget,size:0,draft:!0}),this.state.nameFilter){var o=[],i=this.state.nameFilter.toLowerCase().split(" ");r.map(function(e){var t=!1;i.map(function(n){-1===e.key.toLowerCase().trim().indexOf(n)&&(t=!0)}),t||o.push(e)}),r=o}if("function"==typeof this.props.group)r=this.props.group(r,"");else{var a=[];r.map(function(e){$e(e)||a.push(e)}),r=a}var l,c=null;r.map(function e(n){n.key===t.state.selection&&(c=n),n.children&&n.children.map(e)}),"function"==typeof this.props.sort&&(r=this.props.sort(r));var s=this.renderFiles(r,0);switch(this.props.renderStyle){case"table":if(s.length){if(this.state.nameFilter)s.length>(s=s.slice(0,this.state.searchResultsShown)).length&&s.push(h.a.createElement("tr",{key:"show-more"},h.a.createElement("td",{colSpan:"100"},h.a.createElement("a",{onClick:this.handleShowMoreClick,href:"#"},"Show more results"))))}else s=this.state.nameFilter?h.a.createElement("tr",null,h.a.createElement("td",{colSpan:"100"},'No files matching "',this.state.nameFilter,'".')):h.a.createElement("tr",null,h.a.createElement("td",{colSpan:"100"},this.props.noFilesMessage));this.props.headerRenderer&&(l=h.a.createElement("thead",null,h.a.createElement(this.props.headerRenderer,Kt({},n,this.props.headerRendererProps)))),e=h.a.createElement("table",{cellSpacing:"0",cellPadding:"0"},l,h.a.createElement("tbody",null,s));break;case"list":if(s.length){var u;if(this.state.nameFilter)s.length>(s=s.slice(0,this.state.searchResultsShown)).length&&(u=h.a.createElement("a",{onClick:this.handleShowMoreClick,href:"#"},"Show more results"));s=h.a.createElement("div",null,h.a.createElement("ul",null,s),u)}else s=this.state.nameFilter?h.a.createElement("p",{className:"empty"},'No files matching "',this.state.nameFilter,'"'):h.a.createElement("p",{className:"empty"},"No files.");this.props.headerRenderer&&(l=h.a.createElement(this.props.headerRenderer,Kt({},n,this.props.headerRendererProps))),e=h.a.createElement("div",null,l,s)}return h.a.createElement("div",{className:"rendered-react-keyed-file-browser"},this.props.actions,h.a.createElement("div",{className:"rendered-file-browser",ref:function(e){t.browserRef=e}},this.props.showActionBar&&this.renderActionBar(c),h.a.createElement("div",{className:"files"},e)),null!==this.state.previewFile&&h.a.createElement(this.props.detailRenderer,Kt({file:this.state.previewFile,close:this.closeDetail},this.props.detailRendererProps)))}}])&&Lt(n.prototype,r),o&&Lt(n,o),t}();Vt.propTypes={files:d.a.array.isRequired,actions:d.a.node,showActionBar:d.a.bool.isRequired,canFilter:d.a.bool.isRequired,noFilesMessage:d.a.string,group:d.a.func.isRequired,sort:d.a.func.isRequired,icons:d.a.shape({Folder:d.a.element,FolderOpen:d.a.element,File:d.a.element,PDF:d.a.element,Image:d.a.element,Delete:d.a.element,Rename:d.a.element,Loading:d.a.element,Download:d.a.element}),nestChildren:d.a.bool.isRequired,renderStyle:d.a.oneOf(["list","table"]).isRequired,startOpen:d.a.bool.isRequired,headerRenderer:d.a.func,headerRendererProps:d.a.object,filterRenderer:d.a.func,filterRendererProps:d.a.object,fileRenderer:d.a.func,fileRendererProps:d.a.object,folderRenderer:d.a.func,folderRendererProps:d.a.object,detailRenderer:d.a.func,detailRendererProps:d.a.object,onCreateFiles:d.a.oneOfType([d.a.func,d.a.bool]),onCreateFolder:d.a.oneOfType([d.a.func,d.a.bool]),onMoveFile:d.a.oneOfType([d.a.func,d.a.bool]),onMoveFolder:d.a.oneOfType([d.a.func,d.a.bool]),onRenameFile:d.a.oneOfType([d.a.func,d.a.bool]),onRenameFolder:d.a.oneOfType([d.a.func,d.a.bool]),onDeleteFile:d.a.oneOfType([d.a.func,d.a.bool]),onDeleteFolder:d.a.oneOfType([d.a.func,d.a.bool]),onDownloadFile:d.a.oneOfType([d.a.func,d.a.bool]),onSelect:d.a.func,onSelectFile:d.a.func,onSelectFolder:d.a.func,onPreviewOpen:d.a.func,onPreviewClose:d.a.func,onFolderOpen:d.a.func,onFolderClose:d.a.func},Vt.defaultProps={showActionBar:!0,canFilter:!0,noFilesMessage:"No files.",group:St,sort:jt,nestChildren:!1,renderStyle:"table",startOpen:!1,headerRenderer:de,headerRendererProps:{},filterRenderer:T,filterRendererProps:{},fileRenderer:We,fileRendererProps:{},folderRenderer:Ft,folderRendererProps:{},detailRenderer:P,detailRendererProps:{},icons:{},onSelect:function(e){},onSelectFile:function(e){},onSelectFolder:function(e){},onPreviewOpen:function(e){},onPreviewClose:function(e){},onFolderOpen:function(e){},onFolderClose:function(e){}};var Ht=Object(g.DragDropContext)(b.a)(Tt=function(e){function t(){return It(this,t),qt(this,zt(t).apply(this,arguments))}return Wt(t,Vt),t}())||Tt,Jt=function(e){var t=4===e?"fa":"fas",n=4===e?["FontAwesome",'"FontAwesome"']:['"Font Awesome 5 Free"','"Font Awesome 5 Pro"'],r=!1,o=document.createElement("span");o.className=t,o.style.display="none",document.body.insertBefore(o,document.body.firstChild);var i,a;return n.includes((i=o,a="font-family",window.getComputedStyle(i,null).getPropertyValue(a)))?r=!0:console.warn("Font Awesome ".concat(e," was not detected but Font Awesome ").concat(e," icons have been requested for `react-object-list`")),document.body.removeChild(o),r},Qt=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:4;switch(e){case 4:return Jt(4),{File:h.a.createElement("i",{className:"fa fa-file-o","aria-hidden":"true"}),Image:h.a.createElement("i",{className:"fa fa-file-image-o","aria-hidden":"true"}),Video:h.a.createElement("i",{className:"fa fa-file-video-o","aria-hidden":"true"}),Audio:h.a.createElement("i",{className:"fa fa-file-audio-o","aria-hidden":"true"}),Archive:h.a.createElement("i",{className:"fa fa-file-archive-o","aria-hidden":"true"}),Word:h.a.createElement("i",{className:"fa fa-file-word-o","aria-hidden":"true"}),Excel:h.a.createElement("i",{className:"fa fa-file-excel-o","aria-hidden":"true"}),PowerPoint:h.a.createElement("i",{className:"fa fa-file-powerpoint-o","aria-hidden":"true"}),Text:h.a.createElement("i",{className:"fa fa-file-text-o","aria-hidden":"true"}),PDF:h.a.createElement("i",{className:"fa fa-file-pdf-o","aria-hidden":"true"}),Rename:h.a.createElement("i",{className:"fa fa-i-cursor","aria-hidden":"true"}),Folder:h.a.createElement("i",{className:"fa fa-folder-o","aria-hidden":"true"}),FolderOpen:h.a.createElement("i",{className:"fa fa-folder-open-o","aria-hidden":"true"}),Delete:h.a.createElement("i",{className:"fa fa-trash-o","aria-hidden":"true"}),Loading:h.a.createElement("i",{className:"fa fa-circle-o-notch fa-spin","aria-hidden":"true"}),Download:h.a.createElement("i",{className:"fa fa-download","aria-hidden":"true"})};case 5:return Jt(5),{File:h.a.createElement("i",{className:"far fa-file","aria-hidden":"true"}),Image:h.a.createElement("i",{className:"far fa-file-image","aria-hidden":"true"}),Video:h.a.createElement("i",{className:"far fa-file-video","aria-hidden":"true"}),Audio:h.a.createElement("i",{className:"far fa-file-audio","aria-hidden":"true"}),Archive:h.a.createElement("i",{className:"far fa-file-archive","aria-hidden":"true"}),Word:h.a.createElement("i",{className:"far fa-file-word","aria-hidden":"true"}),Excel:h.a.createElement("i",{className:"far fa-file-excel","aria-hidden":"true"}),PowerPoint:h.a.createElement("i",{className:"far fa-file-powerpoint","aria-hidden":"true"}),Text:h.a.createElement("i",{className:"far fa-file-alt","aria-hidden":"true"}),PDF:h.a.createElement("i",{className:"far fa-file-pdf","aria-hidden":"true"}),Rename:h.a.createElement("i",{className:"far fa-i-cursor","aria-hidden":"true"}),Folder:h.a.createElement("i",{className:"far fa-folder","aria-hidden":"true"}),FolderOpen:h.a.createElement("i",{className:"far fa-folder-open","aria-hidden":"true"}),Delete:h.a.createElement("i",{className:"far fa-trash-alt","aria-hidden":"true"}),Loading:h.a.createElement("i",{className:"fas fa-circle-notch fa-spin","aria-hidden":"true"}),Download:h.a.createElement("i",{className:"fas fa-download","aria-hidden":"true"})};default:console.warn("Could not find config for version ".concat(e),"Accepted versions are: 4, 5","Please make an issue in `react-object-list` to fix this.")}};n.d(t,"RawFileBrowser",function(){return Vt}),n.d(t,"BaseFile",function(){return re}),n.d(t,"BaseFileConnectors",function(){return ne}),n.d(t,"BaseFolder",function(){return Ze}),n.d(t,"BaseFolderConnectors",function(){return Xe}),n.d(t,"Headers",function(){return i}),n.d(t,"FileRenderers",function(){return a}),n.d(t,"FolderRenderers",function(){return c}),n.d(t,"Details",function(){return r}),n.d(t,"Filters",function(){return o}),n.d(t,"Groupers",function(){return s}),n.d(t,"Sorters",function(){return u}),n.d(t,"Icons",function(){return f}),n.d(t,"Utils",function(){return l});t.default=Ht}])});