myherbold-browserv1
Version:
Folder based file browser given a flat keyed list of objects, powered by React.
3 lines • 54.1 kB
JavaScript
var ho=Object.create;var V=Object.defineProperty,mo=Object.defineProperties,uo=Object.getOwnPropertyDescriptor,go=Object.getOwnPropertyDescriptors,Fo=Object.getOwnPropertyNames,$e=Object.getOwnPropertySymbols,bo=Object.getPrototypeOf,Ue=Object.prototype.hasOwnProperty,yo=Object.prototype.propertyIsEnumerable;var Oe=(t,e,r)=>e in t?V(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,u=(t,e)=>{for(var r in e||(e={}))Ue.call(e,r)&&Oe(t,r,e[r]);if($e)for(var r of $e(e))yo.call(e,r)&&Oe(t,r,e[r]);return t},S=(t,e)=>mo(t,go(e)),He=t=>V(t,"__esModule",{value:!0});var h=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),K=(t,e)=>{He(t);for(var r in e)V(t,r,{get:e[r],enumerable:!0})},wo=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Fo(e))!Ue.call(t,o)&&o!=="default"&&V(t,o,{get:()=>e[o],enumerable:!(r=uo(e,o))||r.enumerable});return t},ne=t=>wo(He(V(t!=null?ho(bo(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var d=(t,e,r)=>(Oe(t,typeof e!="symbol"?e+"":e,r),r);var he=h((Tl,it)=>{function Bo(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}it.exports=Bo});var je=h((Ol,st)=>{var Eo=he(),nt=Object.create,Ko=function(){function t(){}return function(e){if(!Eo(e))return{};if(nt)return nt(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();st.exports=Ko});var me=h((Ll,lt)=>{function Wo(){}lt.exports=Wo});var ge=h((jl,at)=>{var zo=je(),Go=me();function ue(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=void 0}ue.prototype=zo(Go.prototype);ue.prototype.constructor=ue;at.exports=ue});var ct=h((Il,dt)=>{function $o(t,e){for(var r=-1,o=e.length,i=t.length;++r<o;)t[i+r]=e[r];return t}dt.exports=$o});var ft=h((ql,pt)=>{var Uo=typeof global=="object"&&global&&global.Object===Object&&global;pt.exports=Uo});var Fe=h((Ml,ht)=>{var Ho=ft(),Vo=typeof self=="object"&&self&&self.Object===Object&&self,Yo=Ho||Vo||Function("return this")();ht.exports=Yo});var be=h((Rl,mt)=>{var Xo=Fe(),Jo=Xo.Symbol;mt.exports=Jo});var bt=h((Bl,Ft)=>{var ut=be(),gt=Object.prototype,Qo=gt.hasOwnProperty,Zo=gt.toString,X=ut?ut.toStringTag:void 0;function ei(t){var e=Qo.call(t,X),r=t[X];try{t[X]=void 0;var o=!0}catch(n){}var i=Zo.call(t);return o&&(e?t[X]=r:delete t[X]),i}Ft.exports=ei});var wt=h((El,yt)=>{var ti=Object.prototype,ri=ti.toString;function oi(t){return ri.call(t)}yt.exports=oi});var Ie=h((Kl,Ct)=>{var vt=be(),ii=bt(),ni=wt(),si="[object Null]",li="[object Undefined]",Dt=vt?vt.toStringTag:void 0;function ai(t){return t==null?t===void 0?li:si:Dt&&Dt in Object(t)?ii(t):ni(t)}Ct.exports=ai});var ye=h((Wl,xt)=>{function di(t){return t!=null&&typeof t=="object"}xt.exports=di});var Nt=h((zl,St)=>{var ci=Ie(),pi=ye(),fi="[object Arguments]";function hi(t){return pi(t)&&ci(t)==fi}St.exports=hi});var At=h((Gl,_t)=>{var Pt=Nt(),mi=ye(),kt=Object.prototype,ui=kt.hasOwnProperty,gi=kt.propertyIsEnumerable,Fi=Pt(function(){return arguments}())?Pt:function(t){return mi(t)&&ui.call(t,"callee")&&!gi.call(t,"callee")};_t.exports=Fi});var we=h(($l,Tt)=>{var bi=Array.isArray;Tt.exports=bi});var It=h((Ul,jt)=>{var Ot=be(),yi=At(),wi=we(),Lt=Ot?Ot.isConcatSpreadable:void 0;function vi(t){return wi(t)||yi(t)||!!(Lt&&t&&t[Lt])}jt.exports=vi});var Rt=h((Hl,Mt)=>{var Di=ct(),Ci=It();function qt(t,e,r,o,i){var n=-1,l=t.length;for(r||(r=Ci),i||(i=[]);++n<l;){var s=t[n];e>0&&r(s)?e>1?qt(s,e-1,r,o,i):Di(i,s):o||(i[i.length]=s)}return i}Mt.exports=qt});var Et=h((Vl,Bt)=>{var xi=Rt();function Si(t){var e=t==null?0:t.length;return e?xi(t,1):[]}Bt.exports=Si});var Wt=h((Yl,Kt)=>{function Ni(t,e,r){switch(r.length){case 0:return t.call(e);case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2])}return t.apply(e,r)}Kt.exports=Ni});var $t=h((Xl,Gt)=>{var Pi=Wt(),zt=Math.max;function ki(t,e,r){return e=zt(e===void 0?t.length-1:e,0),function(){for(var o=arguments,i=-1,n=zt(o.length-e,0),l=Array(n);++i<n;)l[i]=o[e+i];i=-1;for(var s=Array(e+1);++i<e;)s[i]=o[i];return s[e]=r(l),Pi(t,this,s)}}Gt.exports=ki});var Ht=h((Jl,Ut)=>{function _i(t){return function(){return t}}Ut.exports=_i});var Yt=h((Ql,Vt)=>{var Ai=Ie(),Ti=he(),Oi="[object AsyncFunction]",Li="[object Function]",ji="[object GeneratorFunction]",Ii="[object Proxy]";function qi(t){if(!Ti(t))return!1;var e=Ai(t);return e==Li||e==ji||e==Oi||e==Ii}Vt.exports=qi});var Jt=h((Zl,Xt)=>{var Mi=Fe(),Ri=Mi["__core-js_shared__"];Xt.exports=Ri});var er=h((ea,Zt)=>{var qe=Jt(),Qt=function(){var t=/[^.]+$/.exec(qe&&qe.keys&&qe.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function Bi(t){return!!Qt&&Qt in t}Zt.exports=Bi});var rr=h((ta,tr)=>{var Ei=Function.prototype,Ki=Ei.toString;function Wi(t){if(t!=null){try{return Ki.call(t)}catch(e){}try{return t+""}catch(e){}}return""}tr.exports=Wi});var ir=h((ra,or)=>{var zi=Yt(),Gi=er(),$i=he(),Ui=rr(),Hi=/[\\^$.*+?()[\]{}|]/g,Vi=/^\[object .+?Constructor\]$/,Yi=Function.prototype,Xi=Object.prototype,Ji=Yi.toString,Qi=Xi.hasOwnProperty,Zi=RegExp("^"+Ji.call(Qi).replace(Hi,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function en(t){if(!$i(t)||Gi(t))return!1;var e=zi(t)?Zi:Vi;return e.test(Ui(t))}or.exports=en});var sr=h((oa,nr)=>{function tn(t,e){return t==null?void 0:t[e]}nr.exports=tn});var Me=h((ia,lr)=>{var rn=ir(),on=sr();function nn(t,e){var r=on(t,e);return rn(r)?r:void 0}lr.exports=nn});var dr=h((na,ar)=>{var sn=Me(),ln=function(){try{var t=sn(Object,"defineProperty");return t({},"",{}),t}catch(e){}}();ar.exports=ln});var pr=h((sa,cr)=>{function an(t){return t}cr.exports=an});var mr=h((la,hr)=>{var dn=Ht(),fr=dr(),cn=pr(),pn=fr?function(t,e){return fr(t,"toString",{configurable:!0,enumerable:!1,value:dn(e),writable:!0})}:cn;hr.exports=pn});var gr=h((aa,ur)=>{var fn=800,hn=16,mn=Date.now;function un(t){var e=0,r=0;return function(){var o=mn(),i=hn-(o-r);if(r=o,i>0){if(++e>=fn)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}ur.exports=un});var br=h((da,Fr)=>{var gn=mr(),Fn=gr(),bn=Fn(gn);Fr.exports=bn});var wr=h((ca,yr)=>{var yn=Et(),wn=$t(),vn=br();function Dn(t){return vn(wn(t,void 0,yn),t+"")}yr.exports=Dn});var Dr=h((pa,vr)=>{var Cn=Me(),xn=Fe(),Sn=Cn(xn,"WeakMap");vr.exports=Sn});var Sr=h((fa,xr)=>{var Cr=Dr(),Nn=Cr&&new Cr;xr.exports=Nn});var Pr=h((ha,Nr)=>{function Pn(){}Nr.exports=Pn});var Re=h((ma,_r)=>{var kr=Sr(),kn=Pr(),_n=kr?function(t){return kr.get(t)}:kn;_r.exports=_n});var Tr=h((ua,Ar)=>{var An={};Ar.exports=An});var Be=h((ga,Lr)=>{var Or=Tr(),Tn=Object.prototype,On=Tn.hasOwnProperty;function Ln(t){for(var e=t.name+"",r=Or[e],o=On.call(Or,e)?r.length:0;o--;){var i=r[o],n=i.func;if(n==null||n==t)return i.name}return e}Lr.exports=Ln});var De=h((Fa,jr)=>{var jn=je(),In=me(),qn=4294967295;function ve(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=qn,this.__views__=[]}ve.prototype=jn(In.prototype);ve.prototype.constructor=ve;jr.exports=ve});var qr=h((ba,Ir)=>{function Mn(t,e){var r=-1,o=t.length;for(e||(e=Array(o));++r<o;)e[r]=t[r];return e}Ir.exports=Mn});var Rr=h((ya,Mr)=>{var Rn=De(),Bn=ge(),En=qr();function Kn(t){if(t instanceof Rn)return t.clone();var e=new Bn(t.__wrapped__,t.__chain__);return e.__actions__=En(t.__actions__),e.__index__=t.__index__,e.__values__=t.__values__,e}Mr.exports=Kn});var Kr=h((wa,Er)=>{var Wn=De(),Br=ge(),zn=me(),Gn=we(),$n=ye(),Un=Rr(),Hn=Object.prototype,Vn=Hn.hasOwnProperty;function Ce(t){if($n(t)&&!Gn(t)&&!(t instanceof Wn)){if(t instanceof Br)return t;if(Vn.call(t,"__wrapped__"))return Un(t)}return new Br(t)}Ce.prototype=zn.prototype;Ce.prototype.constructor=Ce;Er.exports=Ce});var zr=h((va,Wr)=>{var Yn=De(),Xn=Re(),Jn=Be(),Qn=Kr();function Zn(t){var e=Jn(t),r=Qn[e];if(typeof r!="function"||!(e in Yn.prototype))return!1;if(t===r)return!0;var o=Xn(r);return!!o&&t===o[0]}Wr.exports=Zn});var Hr=h((Da,Ur)=>{var Gr=ge(),es=wr(),ts=Re(),Ee=Be(),rs=we(),$r=zr(),os="Expected a function",is=8,ns=32,ss=128,ls=256;function as(t){return es(function(e){var r=e.length,o=r,i=Gr.prototype.thru;for(t&&e.reverse();o--;){var n=e[o];if(typeof n!="function")throw new TypeError(os);if(i&&!l&&Ee(n)=="wrapper")var l=new Gr([],!0)}for(o=l?o:r;++o<r;){n=e[o];var s=Ee(n),p=s=="wrapper"?ts(n):void 0;p&&$r(p[0])&&p[1]==(ss|is|ns|ls)&&!p[4].length&&p[9]==1?l=l[Ee(p[0])].apply(l,p[3]):l=n.length==1&&$r(n)?l[s]():l.thru(n)}return function(){var f=arguments,c=f[0];if(l&&f.length==1&&rs(c))return l.plant(c).value();for(var x=0,_=r?e[x].apply(this,f):c;++x<r;)_=e[x].call(this,_);return _}})}Ur.exports=as});var J=h((Ca,Vr)=>{var ds=Hr(),cs=ds();Vr.exports=cs});import a from"prop-types";import w,{Component as rc}from"react";import{DndProvider as ic}from"react-dnd";import{HTML5Backend as sc}from"react-dnd-html5-backend";var Ve={};K(Ve,{DefaultDetails:()=>se});import vo from"react";var se=({file:t,close:e})=>{function r(n){n&&n.preventDefault(),e()}let o=t.key.split("/"),i=o.length?o[o.length-1]:"";return vo.createElement("div",null)};var Ye={};K(Ye,{DefaultFilter:()=>le});import Do from"react";var le=({value:t,updateFilter:e})=>{function r(o){e(o.target.value)}return Do.createElement("input",{type:"search",placeholder:"Suchen / Search ...",value:t,onChange:r})};var ot={};K(ot,{TableHeader:()=>fe});import W from"prop-types";import rt from"react";import qo from"classnames";import{DropTarget as Mo}from"react-dnd";import{NativeTypes as Ro}from"react-dnd-html5-backend";import P from"prop-types";import To from"react";var tt={};K(tt,{fileSize:()=>et,floatPrecision:()=>de,isFolder:()=>M,isFontAwesomeEnabled:()=>Y,move:()=>z,relativeTimeWindows:()=>ae});function Y(t){let e=t===4?"fa":"fas",r=t===4?["FontAwesome",'"FontAwesome"']:['"Font Awesome 5 Free"','"Font Awesome 5 Pro"'],o=!1,i=document.createElement("span");i.className=e,i.style.display="none",document.body.insertBefore(i,document.body.firstChild);let n=(l,s)=>window.getComputedStyle(l,null).getPropertyValue(s);return r.includes(n(i,"font-family"))?o=!0:console.warn(`Font Awesome ${t} was not detected but Font Awesome ${t} icons have been requested for \`react-object-list\``),document.body.removeChild(i),o}import{startOfToday as Co,endOfToday as xo,startOfYesterday as So,endOfYesterday as No,startOfWeek as Xe,endOfWeek as Je,addWeeks as Qe,startOfMonth as Po,endOfMonth as ko,getMonth as Ze}from"date-fns";function ae(){let t=[],e=new Date;return t.push({name:"Today",begins:Co(),ends:xo(),items:[]}),t.push({name:"Yesterday",begins:So(),ends:No(),items:[]}),t.push({name:"Earlier this Week",begins:Xe(e),ends:Je(e),items:[]}),t.push({name:"Last Week",begins:Xe(Qe(e,-1)),ends:Je(Qe(e,-1)),items:[]}),Ze(t[t.length-1].begins)===Ze(e)&&t.push({name:"Earlier this Month",begins:Po(e),ends:ko(e),items:[]}),t}function de(t,e){let r=parseFloat(String(t));if(isNaN(r))return parseFloat("0").toFixed(e);{let o=Math.pow(10,e);return(Math.round(r*o)/o).toFixed(e).toString()}}function M(t){return t.key.endsWith("/")}function et(t){if(t>1024){let e=t/1024;if(e>1024){let r=e/1024;return`${de(r,2)} MB`}return`${Math.round(e)} kB`}return`${t} B`}function z(t,e,r){let o=[],i=[];if(!e.didDrop())return;let n=e.getDropResult();t.browserProps.selection.forEach(l=>{l[l.length-1]==="/"?o.push(l):i.push(l)}),t.browserProps.openFolder(n.path),o.forEach(l=>{let s=l,p=s.split("/"),f=p[p.length-2],c=`${n.path}${f}/`;c.substr(0,s.length)!==s&&c!==s&&t.browserProps.moveFolder&&t.browserProps.moveFolder(s,c)}),i.forEach(l=>{let s=l,p=s.split("/"),f=p[p.length-1],c=`${n.path}${f}`;c!==s&&t.browserProps.moveFile&&t.browserProps.moveFile(s,c)})}var G={};K(G,{TYPES:()=>_o});var _o={"7z":"Archive",aac:"Audio",avi:"Video",bmp:"Image",doc:"Word",docx:"Word",flv:"Video",jpeg:"Image",jpg:"Image",js:"Code",mov:"Video",mp3:"Audio",mp4:"Video",ogg:"Audio",pdf:"PDF",png:"Image",ppt:"PowerPoint",pptx:"PowerPoint",rar:"Archive",txt:"Text",wav:"Audio",wmv:"Video",xls:"Excel",xlsx:"Excel",zip:"Archive"};var H={};K(H,{NUMBER_GROUPS:()=>Ao});var Ao=/(-?\d*\.?\d+)/g;var Le=class extends To.Component{constructor(){super(...arguments);d(this,"state",{newName:this.getName()});d(this,"handleFileClick",e=>{e&&e.preventDefault(),this.props.browserProps.preview({url:this.props.url,name:this.getName(),key:this.props.fileKey,extension:this.getExtension()})});d(this,"handleShopClick",e=>{e&&e.preventDefault(),this.props.browserProps.preview({url:this.props.url,name:this.getName(),key:this.props.fileKey,extension:this.getExtension()})});d(this,"handleMailClick",e=>{e.stopPropagation(),this.props.browserProps.select(this.props.fileKey,"mail",e.ctrlKey||e.metaKey,e.shiftKey)});d(this,"handleItemClick",e=>{e.stopPropagation(),this.props.browserProps.select(this.props.fileKey,"file",e.ctrlKey||e.metaKey,e.shiftKey)});d(this,"handleItemDoubleClick",e=>{e.stopPropagation(),this.handleFileClick()});d(this,"handleRenameClick",e=>{!this.props.browserProps.renameFile||this.props.browserProps.beginAction("rename",this.props.fileKey)});d(this,"handleNewNameChange",e=>{let r=e.target.value;this.setState({newName:r})});d(this,"handleRenameSubmit",e=>{if(e&&e.preventDefault(),!this.props.browserProps.renameFile)return;let r=this.state.newName.trim();if(r.length===0||["/","\\"].some(l=>r.indexOf(l)!==-1))return;let i=r,n=this.props.fileKey.lastIndexOf("/");n!==-1&&(i=`${this.props.fileKey.substr(0,n)}/${r}`),this.props.browserProps.renameFile(this.props.fileKey,i)});d(this,"handleDeleteClick",e=>{!this.props.browserProps.deleteFile||this.props.browserProps.beginAction("delete",this.props.fileKey)});d(this,"handleDeleteSubmit",e=>{e.preventDefault(),!!this.props.browserProps.deleteFile&&this.props.browserProps.deleteFile(this.props.browserProps.actionTargets)});d(this,"handleCancelEdit",e=>{this.props.browserProps.endAction()})}selectFileNameFromRef(e){if(e){let r=e.value,o=r.lastIndexOf(".");e.setSelectionRange(0,o||r.length),e.focus()}}getName(){let e=this.props.newKey||this.props.fileKey,r=e.lastIndexOf("/");return r!==-1&&(e=e.substr(r+1)),e}getLocale(){if(this.props.locale)return this.props.locale;let e=this.props.locale;return this.props.locale||e}getNameTranslate(){let e=this.props.newKey||this.props.fileKey,r=e.lastIndexOf("/");return r!==-1&&(e=e.substr(r+1)),e}getExtension(){let e=this.props.fileKey.split(".");return e[e.length-1].toLowerCase().trim()}getFileType(){return G.TYPES[this.getExtension()]||"File"}connectDND(e){let r=this.props.isDragging||this.props.action;return typeof this.props.browserProps.moveFile=="function"&&!r&&!this.props.isRenaming&&(e=this.props.connectDragSource(e)),typeof this.props.browserProps.createFiles=="function"||typeof this.props.browserProps.moveFile=="function"||typeof this.props.browserProps.moveFolder=="function",e}};d(Le,"propTypes",{fileKey:P.string,url:P.string,newKey:P.string,isRenaming:P.bool,connectDragSource:P.func,connectDropTarget:P.func,isDragging:P.bool,action:P.string,browserProps:P.shape({icons:P.object,select:P.func,beginAction:P.func,endAction:P.func,preview:P.func,createFiles:P.func,moveFile:P.func,moveFolder:P.func,renameFile:P.func,deleteFile:P.func})});var Oo={beginDrag(t){return(!t.browserProps.selection.length||!t.browserProps.selection.includes(t.fileKey))&&t.browserProps.select(t.fileKey,"file"),{key:t.fileKey}},endDrag(t,e,r){z(t,e,r)}};function Lo(t,e){return{connectDragPreview:t.dragPreview(),connectDragSource:t.dragSource(),isDragging:e.isDragging()}}var jo={drop(t,e){if(e.didDrop())return;let r=t.newKey||t.fileKey,o=r.lastIndexOf("/"),i=o!==-1?r.substr(0,o+1):"",n=e.getItem();return n.files&&t.browserProps.createFiles&&t.browserProps.createFiles(n.files,i),{path:i}}};function Io(t,e){return{connectDropTarget:t.dropTarget(),isOver:e.isOver({shallow:!0})}}var k={dragSource:Oo,dragCollect:Lo,targetSource:jo,targetCollect:Io},ce=Le;var pe=class extends rt.Component{handleHeaderClick(e){this.props.select(this.props.fileKey)}render(){let e=rt.createElement("tr",{className:qo("folder",{dragover:this.props.isOver,selected:this.props.isSelected})});if(!(typeof this.props.browserProps.createFiles=="function"||typeof this.props.browserProps.moveFile=="function"||typeof this.props.browserProps.moveFolder=="function"))return e}};d(pe,"propTypes",{select:W.func,fileKey:W.string,connectDropTarget:W.func,isOver:W.bool,isSelected:W.func,browserProps:W.shape({createFiles:W.func,moveFolder:W.func,moveFile:W.func})});var kl=Mo(["file","folder",Ro.FILE],k.targetSource,k.targetCollect)(pe),fe=pe;var to={};K(to,{ListThumbnailFile:()=>xe,RawListThumbnailFile:()=>Q,RawTableFile:()=>Z,SimpleListThumbnailFile:()=>Zr,TableFile:()=>Se});var Xr=ne(J());import E from"react";import fs from"classnames";import{DragSource as hs,DropTarget as ms}from"react-dnd";import{NativeTypes as us}from"react-dnd-html5-backend";import{formatDistanceToNow as gs}from"date-fns";function ps(t,e){if(t=parseFloat(t),isNaN(t))return parseFloat("0").toFixed(e);{let r=Math.pow(10,e);return t=(Math.round(t*r)/r).toFixed(e),t.toString()}}function Yr(t){if(t>1024){let e=t/1024;if(e>1024){let r=e/1024;return`${ps(r,2)} MB`}return`${Math.round(e)} kB`}return`${t} B`}var Q=class extends ce{render(){let{thumbnail_url:e,action:r,url:o,isDragging:i,isRenaming:n,isSelected:l,isSelectable:s,isOver:p,isDeleting:f,showName:c,showSize:x,showModified:_,browserProps:N,connectDragPreview:I}=this.props,T;e?T=E.createElement("div",{className:"image",style:{backgroundImage:"url("+e+")"}}):T=N.icons[this.getFileType()]||N.icons.File;let B=i||r,O=N.confirmDeletionRenderer,v;if(c)if(!B&&f&&N.selection.length===1)v=E.createElement(O,{handleDeleteSubmit:this.handleDeleteSubmit,handleFileClick:this.handleFileClick,url:o},this.getName());else if(!B&&n)v=E.createElement("form",{className:"renaming",onSubmit:this.handleRenameSubmit},E.createElement("input",{ref:this.selectFileNameFromRef,type:"text",value:this.state.newName,onChange:this.handleNewNameChange,onBlur:this.handleCancelEdit,autoFocus:!0}));else{let U=function(m){return m=m.replace(/ä/g,"ä"),m=m.replace(/ü/g,"ü"),m=m.replace(/ß/g,"ß"),m=m.replace(/Ä/g,"Ä"),m=m.replace(/Ü/g,"Ü"),m};v=E.createElement("a",{href:o,download:"download",onClick:this.handleFileClick},U(this.getName()))}let b;x&&!n&&!f&&(b=E.createElement("span",{className:"size"},E.createElement("small",null,Yr(this.props.size))));let q;_&&!n&&!f&&(q=E.createElement("span",{className:"modified"},"Last modified: ",gs(this.props.modified,{addSuffix:!0})));let y={};s&&(y={onClick:this.handleItemClick});let g=E.createElement("li",u({className:fs("file",{pending:r,dragging:i,dragover:p,selected:l}),onDoubleClick:this.handleItemDoubleClick},y),E.createElement("div",{className:"item"},E.createElement("span",{className:"thumb"},T),E.createElement("span",{className:"name"},v),b,q));return typeof N.moveFile=="function"&&(g=I(g)),this.connectDND(g)}};d(Q,"defaultProps",{showName:!0,showSize:!0,showModified:!0,isSelectable:!0});var Fs=(0,Xr.default)(hs("file",k.dragSource,k.dragCollect),ms(["file","folder",us.FILE],k.targetSource,k.targetCollect))(Q),xe=Fs;import Jr from"react";var Qr=class extends Jr.Component{render(){return Jr.createElement(xe,S(u({},this.props),{showName:!1,showSize:!1,showModified:!1,isSelectable:!1}))}},Zr=Qr;var eo=ne(J());import L from"react";import bs from"classnames";import{DragSource as ys,DropTarget as ws}from"react-dnd";import{NativeTypes as vs}from"react-dnd-html5-backend";import"date-fns";import{GetTranslation as Ds}from"myherbold-tolgee";var Z=class extends ce{constructor(e){super(e);d(this,"handleFileClick",e=>{e&&e.preventDefault(),this.props.isNew&&this.props.browserProps.onFileClick&&this.props.browserProps.onFileClick(u({},this.props)),this.props.browserProps.preview({url:this.props.url,name:this.getName(),key:this.props.fileKey,extension:this.getExtension()})});this.state={loading:!0,value:[]}}render(){let{isDragging:e,isDeleting:r,isRenaming:o,isOver:i,isSelected:n,action:l,url:s,browserProps:p,connectDragPreview:f,depth:c,size:x,modified:_,isNew:N}=this.props,I=p.icons[this.getFileType()]||p.icons.File,T=p.icons[this.getFileType()]||p.icons.SHOP,B=e||l,O=p.confirmDeletionRenderer,v;if(!B&&r&&p.selection.length===1)v=L.createElement(O,{handleDeleteSubmit:this.handleDeleteSubmit,handleFileClick:this.handleFileClick,url:s},I,this.getName());else if(!B&&o)v=L.createElement("form",{className:"renaming",onSubmit:this.handleRenameSubmit},I,L.createElement("input",{ref:this.selectFileNameFromRef,type:"text",value:this.state.newName,onChange:this.handleNewNameChange,onBlur:this.handleCancelEdit,autoFocus:!0}));else{let y=function(g){return g=g.replace(/ä/g,"ä"),g=g.replace(/ü/g,"ü"),g=g.replace(/ß/g,"ß"),g=g.replace(/Ä/g,"Ä"),g=g.replace(/Ü/g,"Ü"),g};v=L.createElement("div",null,!this.getName().includes(".xls")&&!this.getName().includes(".xlsx")?L.createElement("div",{style:{display:"flex",alignItems:"center"}},L.createElement("a",{href:s||"#",download:"download",onClick:this.handleFileClick},I,L.createElement(Ds,{keyname:this.getName(),stringtotranslate:this.getName(),locale:"en"})),N&&L.createElement("span",{style:{marginLeft:"8px",backgroundColor:"#1A4B7E",color:"white",padding:"2px 6px",borderRadius:"4px",fontSize:"12px",fontWeight:"bold",display:"inline-block"}},navigator.language.startsWith("de")?"NEU":"NEW")):L.createElement("a",{href:s||"#",download:"download",onClick:this.handleShopClick},T,"Spare Part Catalog / Ersatzteilkatalog"))}let b=L.createElement("div",null,v);typeof p.moveFile=="function"&&(b=f(b));let q=L.createElement(L.Fragment,null,L.createElement("tr",{className:bs("file",{pending:l,dragging:e,dragover:i,selected:n}),onClick:this.handleItemClick,onDoubleClick:this.handleItemDoubleClick},L.createElement("td",{className:"name"},L.createElement("div",{style:{paddingLeft:c*16+"px"}},b))));return this.connectDND(q)}},Qa=(0,eo.default)(ys("file",k.dragSource,k.dragCollect),ws(["file","folder",vs.FILE],k.targetSource,k.targetCollect))(Z),Se=Z;var no={};K(no,{ListThumbnailFolder:()=>oo,RawListThumbnailFolder:()=>Ne,RawTableFolder:()=>te,TableFolder:()=>Pe});var ro=ne(J());import R from"react";import Ns from"classnames";import{DragSource as Ps,DropTarget as ks}from"react-dnd";import{NativeTypes as _s}from"react-dnd-html5-backend";import D from"prop-types";import Cs from"react";var Ke=class extends Cs.Component{constructor(){super(...arguments);d(this,"state",{newName:this.props.isDraft?"New folder":this.getName(),company:this.getCompany(),locale:this.props.isDraft?"New folder":this.getLocale()});d(this,"handleFolderClick",e=>{e.stopPropagation(),this.props.browserProps.select(this.props.fileKey,"folder",e.ctrlKey||e.metaKey,e.shiftKey)});d(this,"handleFolderDoubleClick",e=>{e.stopPropagation(),this.toggleFolder()});d(this,"handleRenameClick",e=>{!this.props.browserProps.renameFolder||this.props.browserProps.beginAction("rename",this.props.fileKey)});d(this,"handleNewNameChange",e=>{let r=e.target.value;this.setState({newName:r})});d(this,"handleRenameSubmit",e=>{if(e.preventDefault(),!this.props.browserProps.renameFolder&&!this.props.isDraft)return;let r=this.state.newName.trim();if(r.length===0||["/","\\"].some(n=>r.indexOf(n)!==-1))return;let i=this.props.fileKey.substr(0,this.props.fileKey.substr(0,this.props.fileKey.length-1).lastIndexOf("/"));i.length&&(i+="/"),i+=r,i+="/",this.props.isDraft?this.props.browserProps.createFolder(i):this.props.browserProps.renameFolder(this.props.fileKey,i)});d(this,"handleDeleteClick",e=>{!this.props.browserProps.deleteFolder||this.props.browserProps.beginAction("delete",this.props.fileKey)});d(this,"handleDeleteSubmit",e=>{e.preventDefault(),!!this.props.browserProps.deleteFolder&&this.props.browserProps.deleteFolder(this.props.browserProps.actionTargets)});d(this,"handleCancelEdit",e=>{this.props.browserProps.endAction()});d(this,"toggleFolder",()=>{this.props.browserProps.toggleFolder(this.props.fileKey),this.props.browserProps.select(this.props.fileKey,"folder")})}selectFolderNameFromRef(e){if(e){let r=e.value;e.setSelectionRange(0,r.length),e.focus()}}getName(){if(this.props.name)return this.props.name;let e=this.props.fileKey.split("/");return this.props.newName||e[e.length-2]}getLocale(){if(this.props.locale)return this.props.locale;let e=this.props.locale;return this.props.locale||e}getCompany(){if(this.props.company)return this.props.company;let e=this.props.company;return this.props.company||e}connectDND(e){let r=this.props.isDragging||this.props.action;return this.props.keyDerived&&(typeof this.props.browserProps.moveFolder=="function"&&!r&&!this.props.isRenaming&&!this.props.isDeleting&&(e=this.props.connectDragSource(e)),typeof this.props.browserProps.createFiles=="function"||typeof this.props.browserProps.moveFolder=="function"||typeof this.props.browserProps.moveFile=="function"),e}};d(Ke,"propTypes",{name:D.string,fileKey:D.string,company:D.string,locale:D.string,newName:D.string,keyDerived:D.bool,isDraft:D.bool,isRenaming:D.bool,isDeleting:D.bool,connectDragSource:D.func,connectDropTarget:D.func,isDragging:D.bool,action:D.string,browserProps:D.shape({select:D.func,toggleFolder:D.func,beginAction:D.func,endAction:D.func,preview:D.func,createFiles:D.func,createFolder:D.func,moveFile:D.func,moveFolder:D.func,renameFolder:D.func,deleteFolder:D.func})});var xs={beginDrag(t){return t.browserProps.selection.length||t.browserProps.select(t.fileKey,"folder"),{key:t.fileKey}},endDrag(t,e,r){z(t,e,r)}};function Ss(t,e){return{connectDragPreview:t.dragPreview(),connectDragSource:t.dragSource(),isDragging:e.isDragging()}}var $={dragSource:xs,dragCollect:Ss},ee=Ke;var Ne=class extends ee{render(){let{isOpen:e,isDragging:r,isDeleting:o,isRenaming:i,isDraft:n,isOver:l,isSelected:s,url:p,action:f,browserProps:c,depth:x,keyDerived:_,connectDragPreview:N}=this.props,I=c.icons[e?"FolderOpen":"Folder"],T=r||f,B=c.confirmDeletionRenderer,O;if(!T&&o&&c.selection.length===1)O=R.createElement(B,{handleDeleteSubmit:this.handleDeleteSubmit,handleFileClick:this.handleFileClick,url:p},this.getName());else if(!T&&i||n)O=R.createElement("div",null,R.createElement("form",{className:"renaming",onSubmit:this.handleRenameSubmit},R.createElement("input",{type:"text",ref:this.selectFolderNameFromRef,value:this.state.newName,onChange:this.handleNewNameChange,onBlur:this.handleCancelEdit,autoFocus:!0})));else{let q=function(y){return y=y.replace(/ä/g,"ä"),y=y.replace(/ü/g,"ü"),y=y.replace(/ß/g,"ß"),y=y.replace(/Ä/g,"Ä"),y=y.replace(/Ü/g,"Ü"),y};O=R.createElement("div",null,R.createElement("a",{onClick:this.toggleFolder},this.getName()))}let v;if(e&&c.nestChildren){v=[];for(let q=0;q<v.length;q++){let y=v[q],g=S(u({},c.getItemProps(y,c)),{depth:x+1});M(y)?v.push(R.createElement(c.folderRenderer,u(S(u(u({},y),g),{browserProps:c}),c.folderRendererProps))):v.push(R.createElement(c.fileRenderer,u(S(u(u({},y),g),{browserProps:c}),c.fileRendererProps)))}v.length?v=R.createElement("ul",{style:{padding:"0 8px",paddingLeft:"16px"}},v):v=R.createElement("p",null,"No items in this folder")}let b=R.createElement("li",{className:Ns("folder",{expanded:e&&c.nestChildren,pending:f,dragging:r,dragover:l,selected:s}),onClick:this.handleFolderClick,onDoubleClick:this.handleFolderDoubleClick},R.createElement("div",{className:"item"},R.createElement("span",{className:"thumb"},I),R.createElement("span",{className:"name"},O)),v);return typeof c.moveFolder=="function"&&_&&(b=N(b)),this.connectDND(b)}},As=(0,ro.default)(Ps("folder",$.dragSource,$.dragCollect),ks(["file","folder",_s.FILE],k.targetSource,k.targetCollect))(Ne),oo=As;var io=ne(J());import j from"react";import Ts from"classnames";import{DragSource as Os,DropTarget as Ls}from"react-dnd";import{NativeTypes as js}from"react-dnd-html5-backend";import{GetTranslation as Is}from"myherbold-tolgee";var te=class extends ee{constructor(e){super(e);this.state={loading:!0,value:[],getKey:[],val:[]}}render(){let{isOpen:e,isDragging:r,isDeleting:o,isRenaming:i,isDraft:n,isOver:l,isSelected:s,action:p,url:f,browserProps:c,connectDragPreview:x,depth:_}=this.props,N=c.icons[e?"FolderOpen":"Folder"],I=r||p,T=c.confirmDeletionRenderer,B=this.getCompany(),{value:O,loading:v,val:b,key:q}=this.state,y;if(!I&&o&&c.selection.length===1)y=j.createElement(T,{handleDeleteSubmit:this.handleDeleteSubmit,handleFileClick:this.handleFileClick,url:f},N,this.getName());else if(!I&&i||n)y=j.createElement("div",null,j.createElement("form",{className:"renaming",onSubmit:this.handleRenameSubmit},N,j.createElement("input",{type:"text",ref:this.selectFolderNameFromRef,value:this.state.newName,onChange:this.handleNewNameChange,onBlur:this.handleCancelEdit,autoFocus:!0})));else{let m=function(A){return A=A.replace(/ä/g,"ä"),A=A.replace(/ü/g,"ü"),A=A.replace(/ß/g,"ß"),A=A.replace(/Ä/g,"Ä"),A=A.replace(/Ü/g,"Ü"),A};console.log(this.getLocale()),y=j.createElement("div",null,j.createElement("a",{onClick:this.toggleFolder},N,j.createElement(Is,{keyname:this.getName(),stringtotranslate:this.getName(),locale:"en"})))}let g=j.createElement("div",null,y);typeof c.moveFile=="function"&&(g=x(g));let U=j.createElement("tr",{className:Ts("folder",{pending:p,dragging:r,dragover:l,selected:s}),onClick:this.handleFolderClick,onDoubleClick:this.handleFolderDoubleClick},j.createElement("td",{className:"name"},j.createElement("div",{style:{paddingLeft:_*16+"px"}},g)),j.createElement("td",{className:"name"},j.createElement("div",{style:{paddingLeft:_*16+"px"}},this.getCompany())),j.createElement("td",null),j.createElement("td",null));return this.connectDND(U)}},Cd=(0,io.default)(Os("folder",$.dragSource,$.dragCollect),Ls(["file","folder",js.FILE],k.targetSource,k.targetCollect))(te),Pe=te;import ke from"react";var _e=({children:t,handleDeleteSubmit:e,handleFileClick:r,url:o})=>ke.createElement("form",{className:"deleting",onSubmit:e},ke.createElement("a",{href:o,download:"download",onClick:r},t),ke.createElement("div",null,ke.createElement("button",{type:"submit"},"L\xF6schen best\xE4tigen.")));_e.defaultProps={url:"#"};import qs from"react";var We=({handleDeleteSubmit:t})=>qs.createElement("button",{className:"deleting",onClick:t},"L\xF6schen best\xE4tigen.");var lo={};K(lo,{groupByFolder:()=>Ae,groupByModified:()=>so});function Ae(t,e){let r={contents:[],children:{}};t==null||t.map(i=>{i.relativeKey=(i.newKey||i.key).substr(e.length);let n=r,l=i.relativeKey.split("/");l==null||l.map((s,p)=>{if(p===l.length-1&&M(i))for(let c in i)n[c]=i[c];if(s==="")return;!M(i)&&p===l.length-1?n.contents.push(S(u({},i),{keyDerived:!0})):(s in n.children||(n.children[s]={contents:[],children:{}}),n=n.children[s])})});function o(i,n){n!==""&&(n+="/");let l=[];for(let s in i.children)l.push(S(u({},i.children[s]),{contents:void 0,keyDerived:!0,key:e+n+s+"/",relativeKey:n+s+"/",children:o(i.children[s],n+s),size:0}));return l=l.concat(i.contents),l}return t=o(r,""),t}import{format as Ms,startOfMonth as Rs,endOfMonth as Bs}from"date-fns";function so(t,e){let r=ae();for(let i=0;i<t.length;i++){let n=t[i];if(M(n))continue;let l=S(u({},n),{keyDerived:!0}),s=!1,p=+l.modified;for(let f=0;f<r.length;f++){let c=r[f];if(p>+c.begins&&p<=+c.ends){c.items.push(l),s=!0;break}}if(!s){let f={name:Ms(l.modified,"MMMM yyyy"),begins:Rs(l.modified),ends:Bs(l.modified),items:[]};f.items.push(l),r.push(f)}}let o=[];for(let i=0;i<r.length;i++){let n=r[i];!n.items.length||o.push({key:`${n.name.toLowerCase().replace(" ","_")}/`,name:n.name,children:n.items,size:0})}return o}var ao={};K(ao,{sortByDefault:()=>oe,sortByLastModified:()=>ze,sortByName:()=>re});function Es(t,e){return t.draft&&!e.draft?1:e.draft&&!t.draft?-1:oe(t,e)}function re(t){let e=[],r=[];for(let i=0;i<t.length;i++){let n=t[i],l=(n.newKey||n.key).split("/");n.children?(n.name||(n.name=l[l.length-2]),e.push(n)):(n.name||(n.name=l[l.length-1]),r.push(n))}r=r.sort(oe),e=e.sort(Es);for(let i=0;i<e.length;i++){let n=e[i];n.children=re(n.children)}let o=[];return o=o.concat(e),o=o.concat(r),o}import{compareAsc as Ks}from"date-fns";function ze(t){let e=[],r=[];for(let i=0;i<t.length;i++){let n=t[i],l=(n.newKey||n.key).split("/");n.children?e.push(n):(n.name=l[l.length-1],r.push(n))}r=r.sort(Ks);for(let i=0;i<e.length;i++){let n=e[i];n.children=ze(n.children)}let o=[];return o=o.concat(e),o=o.concat(r),o}function oe(t,e){let r=String(t.name).split(H.NUMBER_GROUPS),o=String(e.name).split(H.NUMBER_GROUPS),i=Math.min(r.length,o.length);for(let n=0;n<i;n++){let l=parseFloat(r[n])||r[n].toLowerCase(),s=parseFloat(o[n])||o[n].toLowerCase();if(l<s)return-1;if(l>s)return 1}return 0}import C from"react";var Te=t=>{var q;let{selectedItems:e,isFolder:r,icons:o,nameFilter:i,canCreateFolder:n,onCreateFolder:l,canRenameFile:s,onRenameFile:p,canRenameFolder:f,onRenameFolder:c,canDeleteFile:x,onDeleteFile:_,canDeleteFolder:N,onDeleteFolder:I,canDownloadFile:T,onDownloadFile:B,canDownloadFolder:O,onDownloadFolder:v}=t,b=[];if(e.length){let y=e.filter(g=>g.action);if(y.length===e.length&&[...new Set(y)].length===1){let g;switch((q=y[0])==null?void 0:q.action){case"delete":g="Deleting ...";break;case"rename":g="Renaming ...";break;default:g="Moving ...";break}b=C.createElement("div",{className:"item-actions"},o==null?void 0:o.Loading," ",g)}else{r&&n&&!i&&b.push(C.createElement("li",{key:"action-add-folder"},C.createElement("a",{onClick:l,href:"#",role:"button"},o==null?void 0:o.Folder,"\xA0Add Subfolder")));let g=e.find(U=>!U.keyDerived);!g&&!r&&s&&e.length===1?b.push(C.createElement("li",{key:"action-rename"},C.createElement("a",{onClick:p,href:"#",role:"button"},o==null?void 0:o.Rename,"\xA0Rename"))):!g&&r&&f&&b.push(C.createElement("li",{key:"action-rename"},C.createElement("a",{onClick:c,href:"#",role:"button"},o==null?void 0:o.Rename,"\xA0Rename"))),!g&&!r&&x?b.push(C.createElement("li",{key:"action-delete"},C.createElement("a",{onClick:_,href:"#",role:"button"},o==null?void 0:o.Delete))):!g&&r&&N&&b.push(C.createElement("li",{key:"action-delete"},C.createElement("a",{onClick:I,href:"#",role:"button"},o==null?void 0:o.Delete))),(!r&&T||r&&O)&&b.push(C.createElement("li",{key:"action-download"},C.createElement("a",{onClick:r?v:B,href:"#",role:"button",style:{display:"flex",flexDirection:"row",alignItems:"center",justifyItems:"center"}},C.createElement("p",null,o==null?void 0:o.Download),C.createElement("p",null,"\xA0Download")))),b.length?b=C.createElement("ul",{className:"item-actions"},b):b=C.createElement("div",{className:"item-actions"},"\xA0")}}else n&&!i&&b.push(C.createElement("li",{key:"action-add-folder"},C.createElement("a",{onClick:l,href:"#",role:"button"},o==null?void 0:o.Folder,"\xA0Add Folder"))),b.length?b=C.createElement("ul",{className:"item-actions"},b):b=C.createElement("div",{className:"item-actions"},"\xA0");return b};Te.defaultProps={selectedItems:[],isFolder:!1,icons:{},nameFilter:"",canCreateFolder:!1,onCreateFolder:null,canRenameFile:!1,onRenameFile:null,canRenameFolder:!1,onRenameFolder:null,canDeleteFile:!1,onDeleteFile:null,canDeleteFolder:!1,onDeleteFolder:null,canDownloadFile:!1,onDownloadFile:null,canDownloadFolder:!1,onDownloadFolder:null};import"react-use-websocket";var Ge=20,Ws=/.*\/__new__[/]?$/gm;function zs(t,e){return{key:`file-${t.key}`,fileKey:t.key,company:t.company,locale:t.locale,isSelected:e.selection.includes(t.key),isOpen:t.key in e.openFolders||e.nameFilter,isRenaming:e.activeAction==="rename"&&e.actionTargets.includes(t.key),isDeleting:e.activeAction==="delete"&&e.actionTargets.includes(t.key),isDraft:!!t.draft,isNew:!!t.isNew}}var ie=class extends w.Component{constructor(){super(...arguments);d(this,"state",{openFolders:{},selection:[],activeAction:null,actionTargets:[],nameFilter:"",searchResultsShown:Ge,previewFile:null,addFolder:null});d(this,"getFile",e=>{var i;let r=!1,o=(i=this.props.files)==null?void 0:i.find(n=>(n.key.startsWith(e)&&(r=!0),n.key===e));if(o)return o;if(r)return{key:e,modified:0,size:0,relativeKey:e}});d(this,"createFiles",(e,r)=>{this.setState(o=>{let i={selection:[]};return r&&(i.openFolders=S(u({},o.openFolders),{[r]:!0})),i},()=>{this.props.onCreateFiles(e,r)})});d(this,"createFolder",e=>{this.setState({activeAction:null,actionTargets:[],selection:[e]},()=>{this.props.onCreateFolder(e)})});d(this,"moveFile",(e,r)=>{this.setState({activeAction:null,actionTargets:[],selection:[r]},()=>{this.props.onMoveFile(e,r)})});d(this,"moveFolder",(e,r)=>{this.setState(o=>{let i={activeAction:null,actionTargets:[],selection:[r]};return e in o.openFolders&&(i.openFolders=S(u({},o.openFolders),{[r]:!0})),i},()=>{this.props.onMoveFolder(e,r)})});d(this,"renameFile",(e,r)=>{this.setState({activeAction:null,actionTargets:[],selection:[r]},()=>{this.props.onRenameFile(e,r)})});d(this,"renameFolder",(e,r)=>{this.setState(o=>{let i={activeAction:null,actionTargets:[]};return o.selection[0].substr(0,e.length)===e&&(i.selection=[o.selection[0].replace(e,r)]),e in o.openFolders&&(i.openFolders=S(u({},o.openFolders),{[r]:!0})),i},()=>{this.props.onRenameFolder(e,r)})});d(this,"deleteFile",e=>{this.setState({activeAction:null,actionTargets:[],selection:[]},()=>{this.props.onDeleteFile(e)})});d(this,"deleteFolder",e=>{this.setState(r=>{let o={activeAction:null,actionTargets:[],selection:[]};return e in r.openFolders&&(o.openFolders=u({},r.openFolders),delete o.openFolders[e]),o},()=>{this.props.onDeleteFolder(e)})});d(this,"downloadFile",e=>{this.setState({activeAction:null,actionTargets:[]},()=>{this.props.onDownloadFile(e)})});d(this,"mailSend",e=>{this.setState({activeAction:null,actionTargets:[]},()=>{this.props.onMailClick(e)})});d(this,"downloadFolder",e=>{this.setState({activeAction:null,actionTargets:[]},()=>{this.props.onDownloadFolder(e)})});d(this,"beginAction",(e,r)=>{this.setState({activeAction:e,actionTargets:r||[]})});d(this,"endAction",()=>{this.state.selection&&this.state.selection.length>0&&this.state.selection.filter(e=>e.match(Ws)).length>0&&this.setState({selection:[]}),this.beginAction(null,null)});d(this,"select",(e,r,o,i)=>{let{actionTargets:n}=this.state,l=n.length&&!n.includes(e),s=this.getFile(e),p=[e];if(o||i){let f=this.state.selection.indexOf(e);f!==-1?p=[...this.state.selection.slice(0,f),...this.state.selection.slice(f+1)]:p=[...this.state.selection,e]}this.setState(f=>({selection:p,actionTargets:l?[]:n,activeAction:l?null:f.activeAction}),()=>{this.props.onSelect(s),r==="file"&&this.props.onSelectFile(s),r==="folder"&&this.props.onSelectFolder(s),r==="mail"&&this.props.onMailClick(s)})});d(this,"preview",e=>{this.state.previewFile&&this.state.previewFile.key!==e.key&&this.closeDetail(),this.setState({previewFile:e},()=>{this.props.onPreviewOpen(e)})});d(this,"closeDetail",()=>{this.setState({previewFile:null},()=>{this.props.onPreviewClose(this.state.previewFile)})});d(this,"handleShowMoreClick",e=>{e.preventDefault(),this.setState(r=>({searchResultsShown:r.searchResultsShown+Ge}))});d(this,"toggleFolder",e=>{let r=e in this.state.openFolders;this.setState(o=>{let i={openFolders:u({},o.openFolders)};return r?delete i.openFolders[e]:i.openFolders[e]=!0,i},()=>{let o=r?"onFolderClose":"onFolderOpen";this.props[o](this.getFile(e))})});d(this,"openFolder",e=>{this.setState(r=>({openFolders:S(u({},r.openFolders),{[e]:!0})}),()=>{this.props.onFolderOpen(this.getFile(e))})});d(this,"handleGlobalClick",e=>{!!(this.browserRef&&this.browserRef.contains(e.target))||this.setState({selection:[],actionTargets:[],activeAction:null})});d(this,"handleActionBarRenameClick",e=>{e.preventDefault(),this.beginAction("rename",this.state.selection)});d(this,"handleActionBarDeleteClick",e=>{e.preventDefault(),this.beginAction("delete",this.state.selection)});d(this,"handleActionBarAddFolderClick",e=>{e.preventDefault(),this.state.activeAction!=="createFolder"&&this.setState(r=>{let o="";r.selection&&r.selection.length>0&&(o+=r.selection,o.substr(o.length-1,o.length)!=="/"&&(o+="/")),o!=="__new__/"&&!o.endsWith("/__new__/")&&(o+="__new__/");let i={actionTargets:[o],activeAction:"createFolder",selection:[o]};return r.selection&&r.selection.length>0&&(i.openFolders=S(u({},r.openFolders),{[this.state.selection]:!0})),i})});d(this,"handleActionBarDownloadClick",e=>{e.preventDefault();let r=this.getFiles(),o=this.getSelectedItems(r);if(o.length===1&&M(o[0])){this.downloadFolder(this.state.selection);return}this.downloadFile(this.state.selection)});d(this,"updateFilter",e=>{this.setState({nameFilter:e,searchResultsShown:Ge})});d(this,"handleMultipleDeleteSubmit",()=>{console.log(this),this.deleteFolder(this.state.selection.filter(e=>e[e.length-1]==="/")),this.deleteFile(this.state.selection.filter(e=>e[e.length-1]!=="/"))})}componentDidMount(){this.props.renderStyle==="table"&&this.props.nestChildren&&console.warn("Invalid settings: Cannot nest table children in file browser"),window.addEventListener("click",this.handleGlobalClick)}componentWillUnmount(){window.removeEventListener("click",this.handleGlobalClick)}getBrowserProps(){return{nestChildren:this.props.nestChildren,fileRenderer:this.props.fileRenderer,fileRendererProps:this.props.fileRendererProps,folderRenderer:this.props.folderRenderer,folderRendererProps:this.props.folderRendererProps,confirmDeletionRenderer:this.props.confirmDeletionRenderer,confirmMultipleDeletionRenderer:this.props.confirmMultipleDeletionRenderer,icons:this.props.icons,openFolders:this.state.openFolders,nameFilter:this.state.nameFilter,selection:this.state.selection,activeAction:this.state.activeAction,actionTargets:this.state.actionTargets,select:this.select,openFolder:this.openFolder,toggleFolder:this.toggleFolder,beginAction:this.beginAction,endAction:this.endAction,preview:this.preview,onFileClick:this.props.onFileClick,createFiles:this.props.onCreateFiles?this.createFiles:void 0,createFolder:this.props.onCreateFolder?this.createFolder:void 0,renameFile:this.props.onRenameFile?this.select: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:zs}}renderActionBar(e){let{icons:r,canFilter:o,filterRendererProps:i,filterRenderer:n,actionRenderer:l,onCreateFolder:s,onRenameFolder:p,onDeleteFile:f,onDeleteFolder:c,onDownloadFile:x,onDownloadFolder:_,onShopOpen:N,onMailClick:I}=this.props,T=this.getBrowserProps(),B=e.length===1&&M(e[0]),O;o&&(O=w.createElement(n,u({value:this.state.nameFilter,updateFilter:this.updateFilter},i)));let v=w.createElement(l,{browserProps:T,selectedItems:e,isFolder:B,icons:r,nameFilter:this.state.nameFilter,canCreateFolder:typeof s=="function",onCreateFolder:this.handleActionBarAddFolderClick,canRenameFile:typeof onRenameFile=="function",onRenameFile:this.handleActionBarRenameClick,canDeleteFile:typeof f=="function",onDeleteFile:this.handleActionBarDeleteClick,canDeleteFolder:typeof c=="function",onDeleteFolder:this.handleActionBarDeleteClick,canDownloadFile:typeof x=="function",onDownloadFile:this.handleActionBarDownloadClick,canDownloadFolder:typeof _=="function",onDownloadFolder:this.handleActionBarDownloadClick,canShopOpen:typeof N=="function",onShopOpen:this.handleActionBarDownloadClick});return w.createElement("div",{className:"action-bar"},O,v)}renderFiles(e,r){let{fileRenderer:o,fileRendererProps:i,folderRenderer:n,folderRendererProps:l}=this.props,s=this.getBrowserProps(),p=[];return e==null||e.map(f=>{let c=S(u({},s.getItemProps(f,s)),{depth:this.state.nameFilter?0:r});M(f)?((this.props.showFoldersOnFilter||!this.state.nameFilter)&&p.push(w.createElement(n,u(S(u(u({},f),c),{browserProps:s}),l))),(this.state.nameFilter||c.isOpen&&!s.nestChildren)&&(p=p.concat(this.renderFiles(f.children,r+1)))):p.push(w.createElement(o,u(S(u(u({},f),c),{browserProps:s}),i)))}),p}getFiles(){var r;let e=(r=this.props.files)==null?void 0:r.concat([]);if(this.state.activeAction==="createFolder"&&(e==null||e.push({key:this.state.actionTargets[0],size:0,draft:!0})),this.state.nameFilter){let o=[],i=this.state.nameFilter.toLowerCase().split(" ");e==null||e.map(n=>{let l=!1;i==null||i.map(s=>{n.key.toLowerCase().trim().indexOf(s)===-1&&n.company.toLowerCase().trim().indexOf(s)===-1&&(l=!0)}),!l&&o.push(n)}),e=o}if(typeof this.props.group=="function")e=this.props.group(e,"");else{let o=[];e==null||e.map(i=>{M(i)||o.push(i)}),e=o}return typeof this.props.sort=="function"&&(e=this.props.sort(e)),e}getSelectedItems(e){let{selection:r}=this.state,o=[],i=n=>{var l;r.includes(n.key)&&o.push(n),n.children&&((l=n.children)==null||l.map(i))};return e==null||e.map(i),o}render(){var f;let r={browserProps:this.getBrowserProps(),fileKey:"",fileCount:(f=this.props.files)==null?void 0:f.length},o,i=this.getFiles(),n=this.getSelectedItems(i),l,s=this.renderFiles(i,0);switch(this.props.renderStyle){case"table":if(!s.length)this.state.nameFilter?s=w.createElement("tr",null,w.createElement("td",{colSpan:100},'No files matching "',this.state.nameFilter,'".')):s=w.createElement("tr",null,w.createElement("td",{colSpan:100},this.props.noFilesMessage));else if(this.state.nameFilter){let c=s.length;s=s.slice(0,this.state.searchResultsShown),c>s.length&&s.push(w.createElement("tr",{key:"show-more"},w.createElement("td",{colSpan:100},w.createElement("a",{onClick:this.handleShowMoreClick,href:"#"},"Show more results"))))}this.props.headerRenderer&&(l=w.createElement("thead",null,w.createElement(this.props.headerRenderer,u(u({},r),this.props.headerRendererProps)))),o=w.createElement("table",{cellSpacing:"0",cellPadding:"0"},l,w.createElement("tbody",null,s));break;case"list":if(!s.length)this.state.nameFilter?s=w.createElement("p",{className:"empty"},'No files matching "',this.state.nameFilter,'"'):s=w.createElement("p",{className:"empty"},"No files.");else{let c;if(this.state.nameFilter){let x=s.length;s=s.slice(0,this.state.searchResultsShown),x>s.length&&(c=w.createElement("a",{onClick:this.handleShowMoreClick,href:"#"},"Show more results"))}s=w.createElement("div",null,w.createElement("ul",null,s),c)}this.props.headerRenderer&&(l=w.createElement(this.props.headerRenderer,u(u({},r),this.props.headerRendererProps))),o=w.createElement("div",null,l,s);break}let p=this.props.confirmMultipleDeletionRenderer;return w.createElement("div",{className:"rendered-react-keyed-file-browser"},this.props.actions,w.createElement("div",{className:"rendered-file-browser",ref:c=>{this.browserRef=c}},this.props.showActionBar&&this.renderActionBar(n),this.state.activeAction==="delete"&&this.state.selection.length>1&&w.createElement(p,{handleDeleteSubmit:this.handleMultipleDeleteSubmit}),w.createElement("div",{className:"files"},o)),this.state.previewFile!==null&&w.createElement(this.props.detailRenderer,u({file:this.state.previewFile,close:this.closeDetail},this.props.detailRendererProps)))}};d(ie,"propTypes",{files:a.arrayOf(a.shape({key:a.string.isRequired,modified:a.number,size:a.number,company:a.string,locale:a.string,isNew:a.bool})).isRequired,actions:a.node,showActionBar:a.bool.isRequired,canFilter:a.bool.isRequired,showFoldersOnFilter:a.bool,noFilesMessage:a.string,group:a.func.isRequired,sort:a.func.isRequired,icons:a.shape({Folder:a.element,FolderOpen:a.element,File:a.element,SHOP:a.element,PDF:a.element,Image:a.element,Delete:a.element,Rename:a.element,Loading:a.element,Download:a.element}),nestChildren:a.bool.isRequired,renderStyle:a.oneOf(["list","table"]).isRequired,startOpen:a.bool.isRequired,headerRenderer:a.func,headerRendererProps:a.object,filterRenderer:a.func,filterRendererProps:a.object,fileRenderer:a.func,fileRendererProps:a.object,folderRenderer:a.func,folderRendererProps:a.object,detailRenderer:a.func,detailRendererProps:a.object,actionRenderer:a.func,confirmDeletionRenderer:a.func,confirmMultipleDeletionRenderer:a.func,onCreateFiles:a.oneOfType([a.func,a.bool]),onCreateFolder:a.oneOfType([a.func,a.bool]),onMoveFile:a.oneOfType([a.func,a.bool]),onMoveFolder:a.oneOfType([a.func,a.bool]),onRenameFile:a.oneOfType([a.func,a.bool]),onRenameFolder:a.oneOfType([a.func,a.bool]),onDeleteFile:a.oneOfType([a.func,a.bool]),onDeleteFolder:a.oneOfType([a.func,a.bool]),onDownloadFile:a.oneOfType([a.func,a.bool]),onDownloadFolder:a.oneOfType([a.func,a.bool]),onShopOpen:a.oneOfType([a.func,a.bool]),onSelect:a.func,onSelectFile:a.func,onSelectFolder:a.func,onMailClick:a.func,onPreviewOpen:a.func,onPreviewClose:a.func,onFolderOpen:a.func,onFolderClose:a.func,onFileClick:a.func}),d(ie,"defaultProps",{showActionBar:!0,canFilter:!0,showFoldersOnFilter:!0,noFilesMessage:"No files.",group:Ae,sort:re,nestChildren:!1,renderStyle:"table",startOpen:!1,headerRenderer:fe,headerRendererProps:{},filterRenderer:le,filterRendererProps:{},fileRenderer:Se,fileRendererProps:{},folderRenderer:Pe,folderRendererProps:{},detailRenderer:se,detailRendererProps:{},actionRenderer:Te,confirmDeletionRenderer:_e,confirmMultipleDeletionRenderer:We,icons:{},onSelect:e=>{},onSelectFile:e=>{},onSelectFolder:e=>{},onMailClick:e=>{},onPreviewOpen:e=>{},onPreviewClose:e=>{},onFolderOpen:e=>{},onFolderClose:e=>{},onFileClick:e=>{}});var co=ie;import{useState as Gs}from"react";var $s=({url:t,newKey:e,fileKey:r,browserProps:o,isDragging:i,action:n,connectDragSource:l,connectDropTarget:s})=>{let[p,f]=Gs("");function c(){let m=e||r,A=m.lastIndexOf("/");return A!==-1&&(m=m.substr(A+1)),m}function x(){let m=r.split(".");return m[m.length-1].toLowerCase().trim()}function _(){return G.TYPES[x()]||"File"}function N(m){m&&m.preventDefault(),o.preview({url:t,name:c(),key:r,extension:x()})}function I(m){m&&m.preventDefault(),o.preview({url:t,name:c(),key:r,extension:x()})}function T(m){m.stopPropagation(),o.select(r,"file",m.ctrlKey||m.metaKey,m.shiftKey)}function B(m){m.stopPropagation(),N(m)}function O(m){!o.renameFile||o.beginAction("rename",r)}function v(m){f(m.target.value)}function b(m){!o.deleteFolder||o.beginAction("delete",r)}function q(m){m.preventDefault(),!!o.deleteFolder&&o.deleteFolder(o.actionTargets)}function y(m){o.endAction()}function g(){o.toggleFolder(r)}function U(m){let A=i||n;return keyDerived&&(typeof o.moveFolder=="function"&&!A&&!this.props.isRenaming&&!this.props.isDeleting&&(m=this.props.connectDragSource(m)),typeof this.props.browserProps.createFiles=="function"||typeof this.props.browserProps.moveFolder=="function"||typeof this.props.browserProps.moveFile=="function"),m}},Us={beginDrag(t){return t.browserProps.selection.length||t.browserProps.select(t.fileKey,"folder"),{key:t.fileKey}},endDrag(t,e,r){z(t,e,r)}};function Hs(t,e){return{connectDragPreview:t.dragPreview(),connectDragSource:t.dragSource(),isDragging:e.isDragging()}}var Vs={dragSource:Us,dragCollect:Hs};var fo={};K(fo,{FontAwesome:()=>po});import F from"react";var po=(t=4)=>{switch(t){case 4:return Y(4),{File:F.createElement("i",{className:"fa fa-file-o","aria-hidden":"true"}),SHOP:F.createElement("i",{className:"fa fa-file-o","aria-hidden":"true"}),Image:F.createElement("i",{className:"fa fa-file-image-o","aria-hidden":"true"}),Video:F.createElement("i",{className:"fa fa-file-video-o","aria-hidden":"true"}),Audio:F.createElement("i",{className:"fa fa-file-audio-o","aria-hidden":"true"}),Archive:F.createElement("i",{className:"fa fa-file-archive-o","aria-hidden":"true"}),Word:F.createElement("i",{className:"fa fa-file-word-o","aria-hidden":"true"}),Excel:F.createElement("i",{className:"fa fa-file-excel-o","aria-hidden":"true"}),PowerPoint:F.createElement("i",{className:"fa fa-file-powerpoint-o","aria-hidden":"true"}),Text:F.createElement("i",{className:"fa fa-file-text-o","aria-hidden":"true"}),PDF:F.createElement("i",{className:"fa fa-file-pdf-o","aria-hidden":"true"}),Rename:F.createElement("i",{className:"fa fa-i-cursor","aria-hidden":"true"}),Folder:F.createElement("i",{className:"fa fa-folder-o","aria-hidden":"true"}),FolderOpen:F.createElement("i",{className:"fa fa-folder-open-o","aria-hidden":"true"}),Delete:F.createElement("i",{className:"fa fa-trash-o","aria-hidden":"true"}),Loading:F.createElement("i",{className:"fa fa-circle-o-notch fa-spin","aria-hidden":"true"}),Download:F.createElement("i",{className:"fa fa-download","aria-hidden":"true"})};case 5:return Y(5),{File:F.createElement("i",{className:"far fa-file","aria-hidden":"true"}),SHOP:F.createElement("i",{className:"fa fa-file-o","aria-hidden":"true"}),Image:F.createElement("i",{className:"far fa-file-image","aria-hidden":"true"}),Video:F.createElement("i",{className:"far fa-file-video","aria-hidden":"true"}),Audio:F.createElement("i",{className:"far fa-file-audio","aria-hidden":"true"}),Archive:F.createElement("i",{className:"far fa-file-archive","aria-hidden":"true"}),Word:F.createElement("i",{className:"far fa-file-word","aria-hidden":"true"}),Excel:F.createElement("i",{className:"far fa-file-excel","aria-hidden":"true"}),PowerPoint:F.createElement("i",{className:"far fa-file-powerpoint","aria-hidden":"true"}),Text:F.createElement("i",{className:"far fa-file-alt","aria-hidden":"true"}),PDF:F.createElement("i",{className:"far fa-file-pdf","aria-hidden":"true"}),Rename:F.createElement("i",{className:"fas fa-i-cursor","aria-hidden":"true"}),Folder:F.createElement("i",{className:"far fa-folder","aria-hidden":"true"}),FolderOpen:F.createElement("i",{className:"far fa-folder-open","aria-hidden":"true"}),Delete:F.createElement("i",{className:"far fa-trash-alt","aria-hidden":"true"}),Loading:F.createElement("i",{className:"fas fa-circle-notch fa-spin","aria-hidden":"true"}),Download:F.createElement("i",{className:"fas fa-download","aria-hidden":"true"})};default:console.warn(`Could not find config for version ${t}`,"Accepted versions are: 4, 5","Please make an issue in `react-object-list` to fix this.")}};var Lc=co;export{$s as BaseFile,Vs as BaseFileConnectors,ee as BaseFolder,$ as BaseFolderConnectors,Ve as Details,to as FileRenderers,Ye as Filters,no as FolderRenderers,lo as Groupers,ot as Headers,fo as Icons,ie as RawFileBrowser,ao as Sorters,tt as Utils,Lc as default};
//# sourceMappingURL=index.js.map