\ No newline at end of file
diff --git a/web-app/build/static/js/2959.25a10423.chunk.js b/web-app/build/static/js/2959.25a10423.chunk.js
deleted file mode 100644
index d279c0c578..0000000000
--- a/web-app/build/static/js/2959.25a10423.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(self.webpackChunkweb_app=self.webpackChunkweb_app||[]).push([[2959,614],{30614:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>h});var s=n(65043),o=n(94141),a=n(89923),i=n(56629),l=n(53518),r=n(77403),c=n(64159),d=n(20554),u=n(70579);const h=e=>{let{modalOpen:t,onClose:n,bucket:h,prefilledRoute:x}=e;const m=(0,d.jL)(),[p,j]=(0,s.useState)(""),[b,g]=(0,s.useState)("readonly");(0,s.useEffect)((()=>{x&&j(x)}),[x]);return(0,u.jsx)(o.A,{modalOpen:t,title:"Add Anonymous Access Rule",onClose:n,titleIcon:(0,u.jsx)(a.No_,{}),children:(0,u.jsxs)(a.Hbc,{withBorders:!1,containerPadding:!1,children:[(0,u.jsx)(a.cl_,{value:p,label:"Prefix",id:"prefix",name:"prefix",placeholder:"Enter Prefix",onChange:e=>{j(e.target.value)},tooltip:"Enter '/' to apply the rule to all prefixes and objects at the bucket root. Do not include the wildcard asterisk '*' as part of the prefix *unless* it is an explicit part of the prefix name. The Console automatically appends an asterisk to the appropriate sections of the resulting IAM policy."}),(0,u.jsx)(a.l6P,{id:"access",name:"Access",onChange:e=>{g(e)},label:"Access",value:b,options:[{label:"readonly",value:"readonly"},{label:"writeonly",value:"writeonly"},{label:"readwrite",value:"readwrite"}],disabled:!1,helpTip:(0,u.jsx)(s.Fragment,{children:"Select the desired level of access available to unauthenticated Users"}),helpTipPlacement:"right"}),(0,u.jsxs)(a.xA9,{item:!0,xs:12,sx:r.Uz.modalButtonBar,children:[(0,u.jsx)(a.$nd,{id:"clear",type:"button",variant:"regular",onClick:()=>{j(""),g("readonly")},label:"Clear"}),(0,u.jsx)(a.$nd,{id:"add-access-save",type:"submit",variant:"callAction",disabled:""===p.trim(),onClick:()=>{i.F.bucket.setAccessRuleWithBucket(h,{prefix:p,access:b}).then((e=>{m((0,c.Hk)("Access Rule added successfully")),n()})).catch((e=>{m((0,c.C9)((0,l.S)(e.error))),n()}))},label:"Save"})]})]})})}},27945:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>Me});var s=n(65043),o=n(22166),a=n(73216),i=n(56629),l=n(20554),r=n(99161),c=n(56483),d=n(6035),u=n(33097),h=n.n(u),x=n(89923),m=n(53518),p=n(94281),j=n(24241),b=n(61476),g=n.n(b),f=n(94574),v=n(35475),_=n(77938),S=n(72237),O=n(64159);const w=e=>(e.match(/\.([^.]*?)(?=\?|#|$)/)||[])[1],T=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const s=Object.keys(e).reduce(((n,s)=>(w(s)&&s.includes(t)&&(n[s]=e[s]),n)),{});return Object.keys(s).filter((e=>{const o=s[e].some((e=>n.find((t=>{let n=!1;if(-1!==t.indexOf("*")){const s=t.substring(0,t.length-1);n=e.includes(s)}return n||e===t})))),a=e.substring(0,e.indexOf("/*."))==="arn:aws:s3:::".concat(t);return o&&(a&&"arn:aws:s3:::*"!==e)}))};var y=n(70579);const C=(0,S.A)(s.lazy((()=>n.e(7774).then(n.bind(n,97774))))),E=f.Ay.div((()=>({display:"flex","& .additionalOptions":{paddingRight:"10px",display:"flex",alignItems:"center",["@media (max-width: ".concat(x.nmC.lg,"px)")]:{display:"none"}},"& .slashSpacingStyle":{margin:"0 5px"}}))),N=e=>{let{bucketName:t,internalPaths:n,hidePathButton:i,additionalOptions:u}=e;const h=(0,l.jL)(),m=(0,a.Zp)(),p=(0,o.d4)((e=>e.objectBrowser.rewind.rewindEnabled)),j=(0,o.d4)((e=>e.objectBrowser.versionsMode)),b=(0,o.d4)((e=>e.objectBrowser.versionedFile)),f=(0,o.d4)((e=>e.system.anonymousMode)),[S,w]=(0,s.useState)(!1),[N,A]=(0,s.useState)(!1),I=[r.OV.S3_PUT_OBJECT,r.OV.S3_PUT_ACTIONS],k=(0,o.d4)((e=>e.console.session&&e.console.session.permissions||{}));let B=n;""!==n&&(B="/".concat(n));const F=B.split("/").filter((e=>""!==e)),L=F.length-1,V=t+B||t,D=T(k,V,I);(0,s.useEffect)((()=>{A(!1),Object.keys(k).forEach((e=>{e.includes(V)&&e.includes("/*")&&A(!0)}))}),[V,n,k]);const P=(0,_._)([V,...D],I)||f||N;let R=F.map(((e,n)=>{const o="".concat(F.slice(0,n+1).join("/"),"/"),a="/browser/".concat(t,"/").concat(o?"".concat((0,c.nf)(o)):"");return n===L&&e===b?null:(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)("span",{className:"slashSpacingStyle",children:"/"}),n===L?(0,y.jsx)("span",{style:{cursor:"default",whiteSpace:"pre"},children:(0,c.Tw)(e)}):(0,y.jsx)(v.N_,{style:{whiteSpace:"pre"},to:a,onClick:()=>{h((0,d.cQ)({status:!1,objectName:""}))},children:(0,c.Tw)(e)})]},"breadcrumbs-".concat(n.toString()))})),U=[];j&&(U=[(0,y.jsx)(s.Fragment,{children:(0,y.jsxs)("span",{children:[(0,y.jsx)("span",{className:"slashSpacingStyle",children:"/"}),b," - Versions"]})},"breadcrumbs-versionedItem")]);const z=[(0,y.jsx)(s.Fragment,{children:(0,y.jsx)(v.N_,{to:"/browser/".concat(t),onClick:()=>{h((0,d.cQ)({status:!1,objectName:""}))},children:t})},"breadcrumbs-root-path"),...R,...U];return(0,y.jsxs)(s.Fragment,{children:[(0,y.jsxs)(E,{children:[S&&(0,y.jsx)(C,{modalOpen:S,bucketName:t,folderName:n,onClose:()=>{w(!1)},limitedSubPath:N&&!((0,_._)([V,...D],I)||f)}),(0,y.jsx)(x.BIu,{sx:{whiteSpace:"pre"},goBackFunction:()=>{if(j)h((0,d.cQ)({status:!1,objectName:""}));else{if(0===F.length)return void m("/browser");const e=F.slice(0,-1);m("/browser/".concat(t).concat(e.length>0?"/".concat((0,c.nf)("".concat(e.join("/"),"/"))):""))}},additionalOptions:(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)(g(),{text:"".concat(t,"/").concat(F.join("/")),children:(0,y.jsx)(x.$nd,{id:"copy-path",icon:(0,y.jsx)(x.TdU,{style:{width:"12px",height:"12px",fill:"#969FA8",marginTop:-1}}),variant:"regular",onClick:()=>{h((0,O.Hk)("Path copied to clipboard"))},style:{width:"28px",height:"28px",color:"#969FA8",border:"#969FA8 1px solid",marginRight:5}})}),(0,y.jsx)(x.azJ,{className:"additionalOptions",children:u})]}),children:z}),!i&&(0,y.jsx)(x.m_M,{tooltip:P?"Choose or create a new path":(0,r.vj)([r.OV.S3_PUT_OBJECT,r.OV.S3_PUT_ACTIONS],"create a new path"),children:(0,y.jsx)(x.$nd,{id:"new-path",onClick:()=>{w(!0)},disabled:!f&&(p||!P),icon:(0,y.jsx)(x.pj3,{style:{fill:"#969FA8"}}),style:{whiteSpace:"nowrap"},variant:"regular",label:"Create new path"})})]}),(0,y.jsx)(x.azJ,{sx:{display:"none",marginTop:15,marginBottom:5,justifyContent:"flex-start","& > div":{fontSize:12,fontWeight:"normal",flexDirection:"row",flexWrap:"nowrap"},["@media (max-width: ".concat(x.nmC.lg,"px)")]:{display:"flex"}},children:u})]})};var A=n(93445);const I=e=>"Enabled"===e||"Suspended"===e;var k=n(37414),B=n(39947),F=n(81708),L=n(6681);const V=e=>{let{uploadPath:t,bucketName:n,forceDisable:a=!1,uploadFileFunction:i,uploadFolderFunction:l,overrideStyles:c={}}=e;const[d,u]=(0,s.useState)(null),[h,m]=(0,s.useState)(!1),p=(0,o.d4)((e=>e.system.anonymousMode)),j=(0,o.d4)((e=>e.console.session&&e.console.session.permissions||{})),b=[r.OV.S3_PUT_OBJECT,r.OV.S3_PUT_ACTIONS],g=T(j,t,b),f=Boolean(d),v=()=>{u(null)},S=(0,_._)([t,...g],b)||p,O=(0,_._)([n,...g],b,!1,!0),w=S||O;return(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)(L.A,{tooltip:w?"Upload Files":(0,r.vj)([r.OV.S3_PUT_OBJECT,r.OV.S3_PUT_ACTIONS],"upload files to this bucket"),children:(0,y.jsx)(x.$nd,{id:"upload-main","aria-controls":"upload-main-menu","aria-haspopup":"true","aria-expanded":f?"true":void 0,onClick:e=>{m(!h),u(e.currentTarget)},label:"Upload",icon:(0,y.jsx)(x.JMY,{}),variant:"callAction",disabled:a||!w,sx:c})}),(0,y.jsx)(x.Vey,{id:"upload-main-menu",options:[{label:"Upload File",icon:(0,y.jsx)(x.JMY,{}),value:"file",disabled:!S||a},{label:"Upload Folder",icon:(0,y.jsx)(x.nDF,{}),value:"folder",disabled:!O||a}],selectedOption:"",onSelect:e=>{"folder"!==e?i(v):l(v)},hideTriggerAction:()=>{m(!1)},open:h,anchorEl:d,anchorOrigin:"end",useAnchorWidth:!0})]})},D=e=>{let{open:t,closePanel:n,className:s="",children:o}=e;return(0,y.jsxs)(x.azJ,{id:"details-panel",sx:{borderColor:"#EAEDEE",borderWidth:0,borderStyle:"solid",borderRadius:3,borderBottomLeftRadius:0,borderBottomRightRadius:0,width:0,transitionDuration:"0.3s",overflowX:"hidden",overflowY:"auto",position:"relative",opacity:0,marginLeft:-1,"&.open":{width:300,minWidth:300,borderLeftWidth:1,opacity:1},"@media (max-width: 799px)":{"&.open":{width:"100%",minWidth:"100%",borderLeftWidth:0}}},className:"".concat(t?"open":""," ").concat(s),children:[(0,y.jsx)(x.$nd,{variant:"text",id:"close-details-list",onClick:n,icon:(0,y.jsx)(x._FR,{}),sx:{position:"absolute",right:5,top:18,padding:0,height:14,"&:hover:not(:disabled)":{backgroundColor:"transparent"}}}),o]})};var P=n(48245);const R=e=>{let{icon:t,strings:n}=e;return(0,y.jsxs)(x.azJ,{sx:{display:"flex",alignItems:"center","& .min-icon":{width:16,height:16,marginRight:4,minWidth:16,minHeight:16},"& .fileNameText":{whiteSpace:"pre",overflow:"hidden",textOverflow:"ellipsis"}},children:[t,(0,y.jsx)("span",{className:"fileNameText",children:(0,c.qf)(n[n.length-1])})]})},U=[{icon:(0,y.jsx)(x.FRZ,{}),extensions:["mp4","mov","avi","mpeg","mpg"]},{icon:(0,y.jsx)(x.jCy,{}),extensions:["mp3","m4a","aac"]},{icon:(0,y.jsx)(x.yTC,{}),extensions:["pdf"]},{icon:(0,y.jsx)(x.QvW,{}),extensions:["ppt","pptx"]},{icon:(0,y.jsx)(x.z9t,{}),extensions:["xls","xlsx"]},{icon:(0,y.jsx)(x.VSs,{}),extensions:["cer","crt","pem"]},{icon:(0,y.jsx)(x.bM2,{}),extensions:["html","xml","css","py","go","php","cpp","h","java"]},{icon:(0,y.jsx)(x.qM2,{}),extensions:["cfg","yaml"]},{icon:(0,y.jsx)(x.ITz,{}),extensions:["sql"]},{icon:(0,y.jsx)(x.PcO,{}),extensions:["ttf","otf"]},{icon:(0,y.jsx)(x.yEV,{}),extensions:["doc","docx","txt","rtf"]},{icon:(0,y.jsx)(x.j_m,{}),extensions:["zip","rar","tar","gz"]},{icon:(0,y.jsx)(x.DUd,{}),extensions:["epub","mobi","azw","azw3"]},{icon:(0,y.jsx)(x.nLN,{}),extensions:["jpeg","jpg","gif","tiff","png","heic","dng"]}],z=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e,s=(0,y.jsx)(x.KlI,{});e.endsWith("/")&&(s=(0,y.jsx)(x.kez,{}),n=e.slice(0,-1));const o=e.toLowerCase();for(const i of U)for(const e of i.extensions)o.endsWith(".".concat(e))&&(s=i.icon);!e.endsWith("/")&&e.indexOf(".")<0&&(s=(0,y.jsx)(x.YJK,{}));const a=n.split("/");return t?s:(0,y.jsx)(R,{icon:s,strings:a})};var G=n(37524);const M=e=>{let{metaData:t}=e;const n=Object.keys(t);return(0,y.jsx)(s.Fragment,{children:n.map(((e,n)=>{const s=(e=>Array.isArray(e)?e.map(c.Tw).join(", "):(0,c.Tw)(e))(t[e]);return(0,y.jsxs)(x.azJ,{sx:{marginBottom:15,fontSize:14,maxHeight:180,overflowY:"auto"},children:[(0,y.jsx)("strong",{children:e}),(0,y.jsx)("br",{}),s]},"box-meta-".concat(e,"-").concat(n.toString()))}))})};var J=n(30718),K=n(85330),W=n(77403);const H=[{value:"01",label:"January"},{value:"02",label:"February"},{value:"03",label:"March"},{value:"04",label:"April"},{value:"05",label:"May"},{value:"06",label:"June"},{value:"07",label:"July"},{value:"08",label:"August"},{value:"09",label:"September"},{value:"10",label:"October"},{value:"11",label:"November"},{value:"12",label:"December"}],Y=Array.from(Array(31),((e,t)=>({value:(t+1).toString(),label:(t+1).toString()}))),$=(new Date).getFullYear(),Z=Array.from(Array(50),((e,t)=>({value:(t+$).toString(),label:(t+$).toString()})));var q=n(94141);const Q=(0,s.forwardRef)(((e,t)=>{let{id:n,label:o,disableOptions:a=!1,tooltip:i="",borderBottom:l=!1,onDateChange:r,value:c=""}=e;(0,s.useImperativeHandle)(t,(()=>({resetDate:b})));const[d,u]=(0,s.useState)(""),[h,m]=(0,s.useState)(""),[p,j]=(0,s.useState)("");(0,s.useEffect)((()=>{if(""!==c){const e=c.split("-");j(e[0]),u(e[1]),m("".concat(parseInt(e[2])))}}),[c]),(0,s.useEffect)((()=>{const[e,t]=((e,t,n)=>{const s=Date.parse("".concat(e,"-").concat(t,"-").concat(n));if(isNaN(s))return[!1,""];const o=parseInt(t),a=parseInt(n),i=o<10?"0".concat(o):o,l=a<10?"0".concat(a):a,r=new Date(s).toISOString().split("T")[0],c="".concat(e,"-").concat(i,"-").concat(l);return[r===c,c]})(p,d,h);r(t,e)}),[d,h,p,r]);const b=()=>{u(""),m(""),j("")},g=()=>a||!1,f=[{value:"",label:""},...H],v=[{value:"",label:""},...Y],_=[{value:"",label:""},...Z];return(0,y.jsxs)(x.azJ,{className:"inputItem",children:[(0,y.jsx)(x.azJ,{sx:{display:"flex",alignItems:"center",gap:5,marginBottom:5},children:(0,y.jsxs)(x.l1Y,{htmlFor:n,children:[(0,y.jsx)("span",{children:o}),""!==i&&(0,y.jsx)(x.azJ,{sx:{marginLeft:5,display:"flex",alignItems:"center","& .min-icon":{width:13}},children:(0,y.jsx)(x.m_M,{tooltip:i,placement:"top",children:(0,y.jsx)(x.azJ,{sx:{"& .min-icon":{width:13}},children:(0,y.jsx)(x.NTw,{})})})})]})}),(0,y.jsxs)(x.azJ,{sx:{display:"flex",gap:12},children:[(0,y.jsx)(x.l6P,{id:"".concat(n,"-month"),name:"".concat(n,"-month"),value:d,onChange:e=>{u(e)},options:f,label:"",disabled:g()}),(0,y.jsx)(x.l6P,{id:"".concat(n,"-day"),name:"".concat(n,"-day"),value:h,onChange:e=>{m(e)},options:v,label:"",disabled:g()}),(0,y.jsx)(x.l6P,{id:"".concat(n,"-year"),name:"".concat(n,"-year"),value:p,onChange:e=>{j(e)},options:_,label:"",disabled:g(),sx:{marginBottom:12}})]})]})})),X=e=>{let{open:t,closeModalAndRefresh:n,objectName:a,objectInfo:r,bucketName:d}=e;const u=(0,l.jL)(),h=(0,o.d4)((e=>e.objectBrowser.retentionConfig)),[p,j]=(0,s.useState)(!0),[b,g]=(0,s.useState)(""),[f,v]=(0,s.useState)(""),[_,S]=(0,s.useState)(!1),[w,T]=(0,s.useState)(!1),[C,E]=(0,s.useState)(!1);(0,s.useEffect)((()=>{if(r.retention_mode&&(g((null===h||void 0===h?void 0:h.mode)||K.BT.Governance),E(!0)),r.retention_until_date){const t=new Date(r.retention_until_date);if("Invalid Date"!==t.toString()){const n=t.getFullYear(),s=(e=t.getMonth()+1)<10?"0".concat(e):"".concat(e),o=t.getDate();isNaN(o)||"NaN"===s||isNaN(n)||v("".concat(n,"-").concat(s,"-").concat(o))}E(!0)}var e}),[r,null===h||void 0===h?void 0:h.mode]);const N=(0,s.useRef)(null),A=()=>{j(!1),g(K.BT.Governance),N.current&&N.current.resetDate()},I=C&&("governance"===b||""===b);return(0,y.jsx)(q.A,{title:"Set Retention Policy",modalOpen:t,onClose:()=>{A(),n(!1)},children:(0,y.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault()})(e)},children:(0,y.jsxs)(x.Hbc,{withBorders:!1,containerPadding:!1,children:[(0,y.jsxs)(x.azJ,{className:"inputItem",children:[(0,y.jsx)("strong",{children:"Selected Object"}),": ",a]}),I&&(0,y.jsx)(x.dOG,{value:"status",id:"status",name:"status",checked:p,onChange:e=>{j(!p)},label:"Status",indicatorLabels:["Enabled","Disabled"]}),(0,y.jsx)(x.z6M,{currentValue:b,id:"type",name:"type",label:"Type",disableOptions:!p||C&&""!==b,onChange:e=>{g(e.target.value)},selectorOptions:[{label:"Governance",value:K.BT.Governance},{label:"Compliance",value:K.BT.Compliance}]}),(0,y.jsx)(Q,{id:"date",label:"Date",disableOptions:!(p&&("governance"===b||"compliance"===b)),ref:N,value:f,borderBottom:!0,onDateChange:(e,t)=>{S(t),t&&v(e)}}),(0,y.jsxs)(x.xA9,{item:!0,xs:12,sx:W.Uz.modalButtonBar,children:[(0,y.jsx)(x.$nd,{id:"reset",type:"button",variant:"regular",onClick:A,label:"Reset"}),(0,y.jsx)(x.$nd,{id:"save",type:"submit",variant:"callAction",disabled:p&&""===b||p&&!_||w,onClick:()=>{T(!0);const e=r.name||"",t=r.version_id||null,s=p||"governance"!==b?"".concat(f,"T23:59:59Z"):"";p||"governance"!==b?((e,t,s)=>{i.F.buckets.putObjectRetention(d,{prefix:(0,c.nf)(e),version_id:t||""},{expires:s,mode:b}).then((()=>{T(!1),n(!0)})).catch((e=>{u((0,O.Dy)((0,m.S)(e.error))),T(!1)}))})(e,t,s):((e,t)=>{i.F.buckets.deleteObjectRetention(d,{prefix:(0,c.nf)(e),version_id:t||""}).then((()=>{T(!1),n(!0)})).catch((e=>{u((0,O.Dy)((0,m.S)(e.error))),T(!1)}))})(e,t)},label:"Save"})]})]})})})};var ee=n(58661),te=n(25448);const ne=e=>{let{closeDeleteModalAndRefresh:t,deleteOpen:n,selectedBucket:a,selectedObject:i,versioningInfo:d,selectedVersion:u=""}=e;const h=(0,l.jL)(),[m,p]=(0,te.A)((()=>t(!0)),(e=>{h((0,O.C9)(e)),"Access Denied."===e.detailedError&&t(!0)})),[j,b]=(0,s.useState)(!1),[g,f]=(0,s.useState)(!1),v=(0,o.d4)((e=>e.objectBrowser.retentionConfig)),S=(0,_._)([a],[r.OV.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===v||void 0===v?void 0:v.mode);if(!i)return null;return(0,y.jsx)(ee.A,{title:"Delete Object",confirmText:"Delete",isOpen:n,titleIcon:(0,y.jsx)(x.xWY,{}),isLoading:m,onConfirm:()=>{const e=(0,c.x6)(i).endsWith("/");p("DELETE","/api/v1/buckets/".concat(a,"/objects?prefix=").concat(i).concat(""!==u?"&version_id=".concat(u):"&recursive=".concat(e,"&all_versions=").concat(j)).concat(g?"&bypass=true":""))},onClose:()=>t(!1),confirmationContent:(0,y.jsxs)(s.Fragment,{children:["Are you sure you want to delete: ",(0,y.jsx)("br",{}),(0,y.jsx)("b",{children:(0,c.x6)(i)})," ",""!==u?(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)("br",{}),(0,y.jsx)("br",{}),"Version ID:",(0,y.jsx)("br",{}),(0,y.jsx)("strong",{children:u})]}):"","? ",(0,y.jsx)("br",{}),(0,y.jsx)("br",{}),I(null===d||void 0===d?void 0:d.status)&&""===u&&(0,y.jsx)(s.Fragment,{children:(0,y.jsx)(x.dOG,{label:"Delete All Versions",indicatorLabels:["Yes","No"],checked:j,value:"delete_versions",id:"delete-versions",name:"delete-versions",onChange:e=>{b(!j)},description:""})}),S&&(j||""!==u)&&(0,y.jsx)(s.Fragment,{children:(0,y.jsx)("div",{style:{marginTop:10},children:(0,y.jsx)(x.dOG,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:g,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:e=>{f(!g)},description:""})})}),j&&(0,y.jsxs)(s.Fragment,{children:[(0,y.jsxs)("div",{style:{marginTop:10,border:"#c83b51 1px solid",borderRadius:3,padding:5,backgroundColor:"#c83b5120",color:"#c83b51"},children:["This will remove the object as well as all of its versions,"," ",(0,y.jsx)("br",{}),"This action is irreversible."]}),(0,y.jsx)("br",{}),"Are you sure you want to continue?"]})]})})},se=e=>{let{open:t,closeModalAndRefresh:n,objectName:o,bucketName:a,actualInfo:r}=e;const d=(0,l.jL)(),[u,p]=(0,s.useState)(!1),[j,b]=(0,s.useState)(!1),g=r.version_id;(0,s.useEffect)((()=>{const e=h()(r,"legal_hold_status","OFF");p("ON"===e)}),[r]);const f=()=>{p(!1)};return(0,y.jsx)(q.A,{title:"Set Legal Hold",modalOpen:t,onClose:()=>{f(),n(!1)},children:(0,y.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault(),b(!0),i.F.buckets.putObjectLegalHold(a,{prefix:(0,c.nf)(o),version_id:g||""},{status:u?K.SW.Enabled:K.SW.Disabled}).then((()=>{b(!1),n(!0)})).catch((e=>{d((0,O.Dy)((0,m.S)(e.error))),b(!1)}))})(e)},children:(0,y.jsxs)(x.Hbc,{withBorders:!1,containerPadding:!1,children:[(0,y.jsxs)(x.azJ,{className:"inputItem",children:[(0,y.jsx)("strong",{children:"Object"}),": ",a]}),(0,y.jsx)(x.dOG,{value:"legalhold",id:"legalhold",name:"legalhold",checked:u,onChange:e=>{p(!u)},label:"Legal Hold Status",indicatorLabels:["Enabled","Disabled"],tooltip:"To enable this feature you need to enable versioning on the bucket before creation"}),(0,y.jsxs)(x.xA9,{item:!0,xs:12,sx:W.Uz.modalButtonBar,children:[(0,y.jsx)(x.$nd,{id:"clear",type:"button",variant:"regular",onClick:f,label:"Clear"}),(0,y.jsx)(x.$nd,{id:"save",type:"submit",variant:"callAction",disabled:j,label:" Save"})]})]})})})},oe=f.Ay.b((e=>{let{theme:t}=e;return{color:h()(t,"signalColors.danger","#C83B51"),marginLeft:5}})),ae=e=>{var t;let{modalOpen:n,onCloseAndUpdate:a,bucketName:d,actualInfo:u}=e;const p=(0,l.jL)(),j=(0,o.d4)(O.Rq),[b,g]=(0,s.useState)(""),[f,v]=(0,s.useState)(""),[S,w]=(0,s.useState)(!1),[T,C]=(0,s.useState)(!1),[E,N]=(0,s.useState)(""),[A,I]=(0,s.useState)(""),k=(0,c.nf)(u.name||""),B=u.tags,F=Object.keys(B||{}),L=null===(t=u.name)||void 0===t?void 0:t.split("/"),V=(null===L||void 0===L?void 0:L.pop())||"",D=e=>(0,y.jsxs)(x.azJ,{sx:{fontSize:16,margin:"20px 0 30px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",width:"100%"},children:["Tag",e?"s":""," for: ",(0,y.jsx)("strong",{children:V})]});return(0,y.jsx)(s.Fragment,{children:(0,y.jsx)(q.A,{modalOpen:n,title:T?"Delete Tag":"Edit Tags",onClose:()=>{a(!0)},iconColor:T?"delete":"default",titleIcon:T?(0,y.jsx)(x.aaC,{}):(0,y.jsx)(x.cGQ,{}),children:T?(0,y.jsx)(s.Fragment,{children:(0,y.jsxs)(x.xA9,{container:!0,children:[D(!1),"Are you sure you want to delete the tag"," ",(0,y.jsxs)(oe,{children:[E," : ",A]})," ","?",(0,y.jsxs)(x.xA9,{item:!0,xs:12,sx:W.Uz.modalButtonBar,children:[(0,y.jsx)(x.$nd,{id:"cancel",type:"button",variant:"regular",onClick:()=>{N(""),I(""),C(!1)},label:"Cancel"}),(0,y.jsx)(x.$nd,{type:"submit",variant:"secondary",onClick:()=>{const e={...B};delete e[E];const t=j?u.version_id||"":"null";i.F.buckets.putObjectTags(d,{prefix:k,version_id:t},{tags:e}).then((()=>{a(!0),w(!1)})).catch((e=>{p((0,O.Dy)((0,m.S)(e.error))),w(!1)}))},id:"deleteTag",label:"Delete Tag"})]})]})}):(0,y.jsxs)(x.azJ,{children:[(0,y.jsx)(_.R,{scopes:[r.OV.S3_GET_OBJECT_TAGGING,r.OV.S3_GET_ACTIONS],resource:d,children:(0,y.jsxs)(x.azJ,{sx:{display:"flex",flexFlow:"column",width:"100%"},children:[D(!0),(0,y.jsxs)(x.azJ,{sx:{fontSize:14,fontWeight:"normal"},children:["Current Tags:",(0,y.jsx)("br",{}),0===F.length?(0,y.jsx)("span",{className:"muted",children:"There are no tags for this object"}):(0,y.jsx)(s.Fragment,{}),(0,y.jsx)(x.azJ,{sx:{marginTop:"5px",marginBottom:"15px"},children:F.map(((e,t)=>{const n=h()(B,"".concat(e),"");return""!==n?(0,y.jsx)(_.R,{scopes:[r.OV.S3_DELETE_OBJECT_TAGGING],resource:d,errorProps:{deleteIcon:null,onDelete:null},children:(0,y.jsx)(x.vwO,{id:"".concat(e," : ").concat(n),label:"".concat(e," : ").concat(n),variant:"regular",color:"default",onDelete:()=>{((e,t)=>{N(e),I(t),C(!0)})(e,n)}})},"chip-".concat(t)):null}))})]})]})}),(0,y.jsx)(_.R,{scopes:[r.OV.S3_PUT_OBJECT_TAGGING,r.OV.S3_PUT_ACTIONS],resource:d,errorProps:{disabled:!0,onClick:null},children:(0,y.jsxs)(x.azJ,{children:[(0,y.jsx)(x._xt,{icon:(0,y.jsx)(x.b_$,{}),separator:!1,children:"Add New Tag"}),(0,y.jsxs)(x.Hbc,{containerPadding:!1,withBorders:!1,children:[(0,y.jsx)(x.cl_,{value:b,label:"Tag Key",id:"newTagKey",name:"newTagKey",placeholder:"Enter Tag Key",onChange:e=>{g(e.target.value)}}),(0,y.jsx)(x.cl_,{value:f,label:"Tag Label",id:"newTagLabel",name:"newTagLabel",placeholder:"Enter Tag Label",onChange:e=>{v(e.target.value)}}),(0,y.jsxs)(x.xA9,{item:!0,xs:12,sx:W.Uz.modalButtonBar,children:[(0,y.jsx)(x.$nd,{id:"clear",type:"button",variant:"regular",color:"primary",onClick:()=>{v(""),g("")},label:"Clear"}),(0,y.jsx)(x.$nd,{type:"submit",variant:"callAction",disabled:""===f.trim()||""===b.trim()||S,onClick:()=>{w(!0);const e={};e[b]=f;const t={...B,...e},n=j?u.version_id||"":"null";i.F.buckets.putObjectTags(d,{prefix:k,version_id:n},{tags:t}).then((()=>{a(!0),w(!1)})).catch((e=>{p((0,O.Dy)((0,m.S)(e.error))),w(!1)}))},id:"saveTag",label:"Save"})]})]})]})})]})})})};var ie=n(49501);const le=e=>{let{closeInspectModalAndRefresh:t,inspectOpen:n,inspectPath:o,volumeName:a}=e;const i=(0,l.jL)(),r=()=>t(!1),[d,u]=(0,s.useState)(!0),[h,m]=(0,s.useState)(""),[p,j]=(0,s.useState)("");if(!o)return null;return(0,y.jsxs)(s.Fragment,{children:[!h&&(0,y.jsx)(q.A,{modalOpen:n,titleIcon:(0,y.jsx)(x.nTF,{}),title:"Inspect Object",onClose:r,children:(0,y.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault()})(e)},children:["Would you like to encrypt ",(0,y.jsx)("b",{children:(0,c.x6)(o)}),"?"," ",(0,y.jsx)("br",{}),(0,y.jsx)(x.dOG,{label:"Encrypt",indicatorLabels:["Yes","No"],checked:d,value:"encrypt",id:"encrypt",name:"encrypt",onChange:e=>{u(!d)},description:""}),(0,y.jsx)(x.xA9,{item:!0,xs:12,sx:W.Uz.modalButtonBar,children:(0,y.jsx)(x.$nd,{id:"inspect",type:"submit",variant:"callAction",color:"primary",onClick:async()=>{const e=(0,c.nf)(o+"/xl.meta"),t=(0,c.nf)(a);let n=document.baseURI.replace(window.location.origin,"");(async e=>await fetch(e,{method:"GET"}))("".concat(window.location.origin).concat(n,"/api/v1/admin/inspect?volume=").concat(t,"&file=").concat(e,"&encrypt=").concat(d)).then((async e=>{if(!e.ok){const t=await e.json();i((0,O.C9)({errorMessage:t.message,detailedError:t.code}))}const t=await e.blob(),n=e.headers.get("content-disposition").split('"')[1],s=(0,c.UM)(n)||"";(0,c.OT)(t,n),j(n),""!==s?m(s):r()})).catch((e=>{i((0,O.C9)(e))}))},label:"Inspect"})})]})}),h?(0,y.jsxs)(q.A,{modalOpen:n,title:"Inspect Decryption Key",onClose:()=>{(0,c.Yj)(p),r(),m("")},titleIcon:(0,y.jsx)(x.aJN,{}),children:[(0,y.jsxs)(x.azJ,{children:["This will be displayed only once. It cannot be recovered.",(0,y.jsx)("br",{}),"Use secure medium to share this key."]}),(0,y.jsx)(x.azJ,{children:(0,y.jsx)(ie.A,{value:h})})]}):null]})},re=e=>{let{open:t,closeModal:n,currentItem:o,internalPaths:a,actualInfo:i,bucketName:r}=e;const c=(0,l.jL)(),[d,u]=(0,s.useState)(o),[h,m]=(0,s.useState)(!1);return(0,y.jsxs)(q.A,{title:"Rename Download",modalOpen:t,onClose:n,titleIcon:(0,y.jsx)(x.qUP,{}),children:[(0,y.jsxs)("div",{children:["The file you are trying to download has a long name.",(0,y.jsx)("br",{}),"This can cause issues on Windows Systems by trimming the file name after download.",(0,y.jsx)("br",{}),(0,y.jsx)("br",{})," We recommend to rename the file download"]}),(0,y.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault(),(0,P._)(c,r,a,i),n()})(e)},children:(0,y.jsxs)(x.Hbc,{withBorders:!1,containerPadding:!1,children:[(0,y.jsx)(x.cl_,{id:"download-filename",name:"download-filename",onChange:e=>{u(e.target.value)},label:"",type:"text",value:d,error:d.length>200&&!h?"Filename should be less than 200 characters long.":""}),(0,y.jsx)(x.dOG,{value:"acceptLongName",id:"acceptLongName",name:"acceptLongName",checked:h,onChange:e=>{m(e.target.checked),e.target.checked&&u(o)},label:"Use Original Name"}),(0,y.jsx)(x.xA9,{item:!0,xs:12,sx:W.Uz.modalButtonBar,children:(0,y.jsx)(x.$nd,{id:"download-file",type:"submit",variant:"callAction",color:"primary",disabled:d.length>200&&!h,label:"Download File"})})]})})]})},ce={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:0,tags:{},version_id:void 0},de=e=>{let{internalPaths:t,bucketName:n,versioningInfo:a,locking:u,onClosePanel:m}=e;const p=(0,l.jL)(),j=(0,o.d4)(O.Rq),b=(0,o.d4)((e=>e.objectBrowser.versionsMode)),g=(0,o.d4)((e=>e.objectBrowser.selectedVersion)),f=(0,o.d4)((e=>e.objectBrowser.loadingObjectInfo)),[v,S]=(0,s.useState)(!1),[w,T]=(0,s.useState)(!1),[C,E]=(0,s.useState)(!1),[N,I]=(0,s.useState)(!1),[k,B]=(0,s.useState)(!1),[F,V]=(0,s.useState)(null),[D,R]=(0,s.useState)([]),[U,K]=(0,s.useState)(null),[W,H]=(0,s.useState)([]),[Y,$]=(0,s.useState)(!1),[Z,q]=(0,s.useState)(!1),[Q,ee]=(0,s.useState)(0),[te,oe]=(0,s.useState)(!1),[ie,de]=(0,s.useState)(null),[ue,he]=(0,s.useState)(!1),xe=((0,c.x6)(t)||"").split("/").pop()||"";let me=[];F&&F.name&&(me=F.name.split("/")),(0,s.useEffect)((()=>{if(j&&D&&D.length>=1){let e=D.find((e=>e.is_latest))||ce;""!==g&&(e=D.find((e=>e.version_id===g))||ce),e.is_delete_marker||he(!0),V(e)}}),[g,j,D]),(0,s.useEffect)((()=>{f&&""!==t&&i.F.buckets.listObjects(n,{prefix:t,with_versions:j}).then((e=>{const t=e.data.objects||[];if(j){R(t),H(t);const e=t.reduce(((e,t)=>null!==t&&void 0!==t&&t.size?e+t.size:e),0);ee(e)}else{const e=t[0];V(e),H([]),e.is_delete_marker||he(!0)}p((0,d.oe)(!1))})).catch((e=>{console.error("Error loading object details",e.error),p((0,d.oe)(!1))}))}),[f,n,t,p,j,g]),(0,s.useEffect)((()=>{ue&&""!==t&&i.F.buckets.getObjectMetadata(n,{prefix:t}).then((e=>{let t=h()(e.data,"objectMetadata",{});de(t),he(!1)})).catch((e=>{console.error("Error Getting Metadata Status: ",e.detailedError),he(!1)}))}),[n,t,ue]);let pe=[];F&&F.tags&&(pe=Object.keys(F.tags));const je=(0,y.jsx)("div",{style:{textAlign:"center",marginTop:35},children:(0,y.jsx)(x.aHM,{})});if(!F)return f?je:null;const be=me.length>0?me[me.length-1]:F.name,ge=[n,xe,[n,F.name].join("/")],fe=(0,_._)(n,[r.OV.S3_PUT_OBJECT_LEGAL_HOLD,r.OV.S3_PUT_ACTIONS]),ve=(0,_._)(ge,[r.OV.S3_PUT_OBJECT_TAGGING,r.OV.S3_PUT_ACTIONS]),_e=(0,_._)(ge,[r.OV.S3_GET_OBJECT_RETENTION,r.OV.S3_PUT_OBJECT_RETENTION,r.OV.S3_GET_ACTIONS,r.OV.S3_PUT_ACTIONS],!0),Se=(0,_._)(ge,[r.OV.ADMIN_INSPECT_DATA]),Oe=(0,_._)(ge,[r.OV.S3_GET_BUCKET_VERSIONING,r.OV.S3_PUT_BUCKET_VERSIONING,r.OV.S3_GET_OBJECT_VERSION,r.OV.S3_GET_ACTIONS,r.OV.S3_PUT_ACTIONS]),we=(0,_._)(ge,[r.OV.S3_GET_OBJECT,r.OV.S3_GET_ACTIONS]),Te=(0,_._)([n,xe,[n,F.name].join("/")],[r.OV.S3_DELETE_OBJECT]);let ye=(0,A.IZ)(ie,xe);const Ce=[{action:()=>{(0,P._)(p,n,t,F)},label:"Download",disabled:!!F.is_delete_marker||!we,icon:(0,y.jsx)(x.s3U,{}),tooltip:we?"Download this Object":(0,r.vj)([r.OV.S3_GET_OBJECT,r.OV.S3_GET_ACTIONS],"download this object")},{action:()=>{S(!0)},label:"Share",disabled:!!F.is_delete_marker||!we,icon:(0,y.jsx)(x.liv,{}),tooltip:we?"Share this File":(0,r.vj)([r.OV.S3_GET_OBJECT,r.OV.S3_GET_ACTIONS],"share this object")},{action:()=>{q(!0)},label:"Preview",disabled:!!F.is_delete_marker||"none"===ye&&!we,icon:(0,y.jsx)(x.cyn,{}),tooltip:we?"Preview this File":(0,r.vj)([r.OV.S3_GET_OBJECT,r.OV.S3_GET_ACTIONS],"preview this object")},{action:()=>{I(!0)},label:"Legal Hold",disabled:!u||!j||!!F.is_delete_marker||!fe||""!==g,icon:(0,y.jsx)(x.ODz,{}),tooltip:fe?u?"Change Legal Hold rules for this File":"Object Locking must be enabled on this bucket in order to set Legal Hold":(0,r.vj)([r.OV.S3_PUT_OBJECT_LEGAL_HOLD,r.OV.S3_PUT_ACTIONS],"change legal hold settings for this object")},{action:()=>{T(!0)},label:"Retention",disabled:!j||!!F.is_delete_marker||!_e||""!==g||!u,icon:(0,y.jsx)(x.gn6,{}),tooltip:_e?u?"Change Retention rules for this File":"Object Locking must be enabled on this bucket in order to set Retention Rules":(0,r.vj)([r.OV.S3_GET_OBJECT_RETENTION,r.OV.S3_PUT_OBJECT_RETENTION,r.OV.S3_GET_ACTIONS,r.OV.S3_PUT_ACTIONS],"change Retention Rules for this object")},{action:()=>{E(!0)},label:"Tags",disabled:!!F.is_delete_marker||""!==g||!ve,icon:(0,y.jsx)(x.P3Z,{}),tooltip:ve?"Change Tags for this File":(0,r.vj)([r.OV.S3_PUT_OBJECT_TAGGING,r.OV.S3_GET_OBJECT_TAGGING,r.OV.S3_GET_ACTIONS,r.OV.S3_PUT_ACTIONS],"set Tags on this object")},{action:()=>{B(!0)},label:"Inspect",disabled:!j||!!F.is_delete_marker||""!==g||!Se,icon:(0,y.jsx)(x.nTF,{}),tooltip:Se?"Inspect this file":(0,r.vj)([r.OV.ADMIN_INSPECT_DATA],"inspect this file")},{action:()=>{p((0,d.cQ)({status:!b,objectName:be}))},label:b?"Hide Object Versions":"Display Object Versions",icon:(0,y.jsx)(x.j1U,{}),disabled:!j||!(F.version_id&&"null"!==F.version_id)||!Oe,tooltip:Oe?F.version_id&&"null"!==F.version_id?"Display Versions for this file":"":(0,r.vj)([r.OV.S3_GET_BUCKET_VERSIONING,r.OV.S3_PUT_BUCKET_VERSIONING,r.OV.S3_GET_OBJECT_VERSION,r.OV.S3_GET_ACTIONS,r.OV.S3_PUT_ACTIONS],"display all versions of this object")}];return(0,y.jsxs)(s.Fragment,{children:[v&&F&&(0,y.jsx)(J.default,{open:v,closeModalAndRefresh:()=>{K(null),S(!1)},bucketName:n,dataObject:U||F}),w&&F&&(0,y.jsx)(X,{open:w,closeModalAndRefresh:e=>{T(!1),e&&p((0,d.oe)(!0))},objectName:xe,objectInfo:F,bucketName:n}),Y&&(0,y.jsx)(ne,{deleteOpen:Y,selectedBucket:n,selectedObject:t,closeDeleteModalAndRefresh:e=>{$(!1),e&&""===g?m(!0):(p((0,d.SK)(!0)),p((0,d.Ai)("")),p((0,d.oe)(!0)))},versioningInfo:j?a:void 0,selectedVersion:g}),N&&F&&(0,y.jsx)(se,{open:N,closeModalAndRefresh:e=>{I(!1),e&&p((0,d.oe)(!0))},objectName:F.name||"",bucketName:n,actualInfo:F}),Z&&F&&(0,y.jsx)(G.default,{open:Z,bucketName:n,actualInfo:F,onClosePreview:()=>{q(!1)}}),C&&F&&(0,y.jsx)(ae,{modalOpen:C,bucketName:n,actualInfo:F,onCloseAndUpdate:e=>{E(!1),e&&p((0,d.oe)(!0))}}),k&&F&&(0,y.jsx)(le,{inspectOpen:k,volumeName:n,inspectPath:F.name||"",closeInspectModalAndRefresh:e=>{B(!1),e&&p((0,d.oe)(!0))}}),te&&F&&(0,y.jsx)(re,{open:te,closeModal:()=>{oe(!1)},currentItem:xe,bucketName:n,internalPaths:t,actualInfo:F}),f?(0,y.jsx)(s.Fragment,{children:je}):(0,y.jsxs)(x.azJ,{sx:{"& .ObjectDetailsTitle":{display:"flex",alignItems:"center","& .min-icon":{width:26,height:26,minWidth:26,minHeight:26}},"& .objectNameContainer":{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",alignItems:"center",marginLeft:10},"& .capitalizeFirst":{textTransform:"capitalize"},"& .detailContainer":{padding:"0 22px",marginBottom:10,fontSize:14}},children:[(0,y.jsx)(x.Smc,{title:(0,y.jsxs)("div",{className:"ObjectDetailsTitle",children:[z(be||"",!0),(0,y.jsx)("span",{className:"objectNameContainer",children:be})]}),items:Ce}),(0,y.jsx)(L.A,{tooltip:Te?"":(0,r.vj)([r.OV.S3_DELETE_OBJECT],"delete this object"),children:(0,y.jsx)(x.xA9,{item:!0,xs:12,sx:{justifyContent:"center",display:"flex"},children:(0,y.jsx)(_.R,{resource:[n,xe,[n,F.name].join("/")],scopes:[r.OV.S3_DELETE_OBJECT],errorProps:{disabled:!0},children:(0,y.jsx)(x.$nd,{id:"delete-element-click",icon:(0,y.jsx)(x.d7y,{}),iconLocation:"start",fullWidth:!0,variant:"secondary",onClick:()=>{$(!0)},disabled:""===g&&F.is_delete_marker,sx:{width:"calc(100% - 44px)",margin:"8px 0"},label:"Delete".concat(""!==g?" version":"")})})})}),(0,y.jsx)(x.kCK,{icon:(0,y.jsx)(x.Hch,{}),label:"Object Info"}),(0,y.jsxs)(x.azJ,{className:"detailContainer",children:[(0,y.jsx)("strong",{children:"Name:"}),(0,y.jsx)("br",{}),(0,y.jsx)("div",{style:{overflowWrap:"break-word"},children:be})]}),""!==g&&(0,y.jsxs)(x.azJ,{className:"detailContainer",children:[(0,y.jsx)("strong",{children:"Version ID:"}),(0,y.jsx)("br",{}),g]}),(0,y.jsxs)(x.azJ,{className:"detailContainer",children:[(0,y.jsx)("strong",{children:"Size:"}),(0,y.jsx)("br",{}),(0,c.nO)("".concat(F.size||"0"))]}),F.version_id&&"null"!==F.version_id&&""===g&&(0,y.jsxs)(x.azJ,{className:"detailContainer",children:[(0,y.jsx)("strong",{children:"Versions:"}),(0,y.jsx)("br",{}),W.length," version",1!==W.length?"s":"",","," ",(0,c.qO)(Q)]}),""===g&&(0,y.jsxs)(x.azJ,{className:"detailContainer",children:[(0,y.jsx)("strong",{children:"Last Modified:"}),(0,y.jsx)("br",{}),(e=>{const t=new Date,n=new Date(e),s=t.getTime()-n.getTime(),o=(0,c.eQ)(s,"ms");return""!==o.trim()?"".concat(o," ago"):"Just now"})(F.last_modified||"")]}),(0,y.jsxs)(x.azJ,{className:"detailContainer",children:[(0,y.jsx)("strong",{children:"ETAG:"}),(0,y.jsx)("br",{}),F.etag||"N/A"]}),(0,y.jsxs)(x.azJ,{className:"detailContainer",children:[(0,y.jsx)("strong",{children:"Tags:"}),(0,y.jsx)("br",{}),0===pe.length?"N/A":pe.map(((e,t)=>(0,y.jsxs)("span",{children:[e,":",h()(F,"tags.".concat(e),""),t{let{versionToRestore:t,bucketName:n,objectPath:o,restoreOpen:a,onCloseAndUpdate:r}=e;const u=(0,l.jL)(),[h,p]=(0,s.useState)(!1);return(0,y.jsx)(ee.A,{title:"Restore File Version",confirmText:"Restore",isOpen:a,isLoading:h,titleIcon:(0,y.jsx)(x.YkU,{}),onConfirm:()=>{p(!0),i.F.buckets.putObjectRestore(n,{prefix:(0,c.nf)(o),version_id:t.version_id||""}).then((()=>{p(!1),r(!0),u((0,d.NV)({prefix:o,objectInfo:t}))})).catch((e=>{u((0,O.C9)((0,m.S)(e.error))),p(!1)}))},confirmButtonProps:{variant:"secondary",disabled:h},onClose:()=>{r(!1)},confirmationContent:(0,y.jsxs)(x.azJ,{id:"alert-dialog-description",children:["Are you sure you want to restore ",(0,y.jsx)("br",{}),(0,y.jsx)("b",{children:o})," ",(0,y.jsx)("br",{})," with Version ID:",(0,y.jsx)("br",{}),(0,y.jsx)("b",{children:t.version_id}),"?"]})})},he=e=>{let{type:t}=e,n="#000",s="";switch(t){case"null":n="#07193E",s="NULL VERSION";break;case"deleted":n="#868686",s="DELETED";break;default:n="#174551",s="CURRENT VERSION"}return(0,y.jsx)("span",{style:{backgroundColor:n,padding:"0 5px",display:"inline-block",color:"#FFF",fontWeight:"bold",fontSize:12,borderRadius:2,whiteSpace:"nowrap",margin:"0 10px"},children:s})},xe=f.Ay.div((e=>{let{theme:t}=e;return{"&:before":{content:"' '",display:"block",position:"absolute",width:"2px",height:"calc(100% + 2px)",backgroundColor:h()(t,"borderColor","#F8F8F8"),left:"24px"},"& .mainFileVersionItem":{borderBottom:"".concat(h()(t,"borderColor","#F8F8F8")," 1px solid"),padding:"1rem 0",margin:"0 0.5rem 0 2.5rem",cursor:"pointer","&.deleted":{color:"#868686"}},"& .intermediateLayer":{margin:"0 1.5rem 0 1.5rem","&:hover, &.selected":{backgroundColor:h()(t,"boxBackground","#F8F8F8"),"& > div":{borderBottomColor:h()(t,"boxBackground","#F8F8F8")}}},"& .versionContainer":{fontSize:16,fontWeight:"bold",display:"flex",alignItems:"center","& svg.min-icon":{width:18,height:18,minWidth:18,minHeight:18,marginRight:10}},"& .buttonContainer":{textAlign:"right","& button":{marginLeft:"1.5rem"}},"& .versionID":{fontSize:"12px",margin:"2px 0",whiteSpace:"nowrap",textOverflow:"ellipsis",maxWidth:"95%",overflow:"hidden"},"& .versionData":{marginRight:"10px",fontSize:12,color:"#868686"},"@media (max-width: 600px)":{"& .buttonContainer":{"& button":{marginLeft:"5px"}}},"@media (max-width: 799px)":{"&:before":{display:"none"},"& .mainFileVersionItem":{padding:"5px 0px",margin:0},"& .intermediateLayer":{margin:0,"&:hover, &.selected":{backgroundColor:"transparent","& > div":{borderBottomColor:h()(t,"boxBackground","#F8F8F8")}}},"& .versionContainer":{fontSize:14,"& svg.min-icon":{display:"none"}},"& .versionData":{textOverflow:"ellipsis",maxWidth:"95%",overflow:"hidden",whiteSpace:"nowrap"},"& .collapsableInfo":{display:"flex",flexDirection:"column"},"& .versionItem":{display:"none"}}}})),me=e=>{let{fileName:t,versionInfo:n,isSelected:s,checkable:o,isChecked:a,onCheck:i,onShare:l,onDownload:r,onRestore:d,onPreview:u,globalClick:h,index:m,key:p,style:b}=e;const g=n.is_delete_marker,f=[{icon:(0,y.jsx)(x.cyn,{}),action:u,tooltip:"Preview"},{icon:(0,y.jsx)(x.s3U,{}),action:r,tooltip:"Download this version"},{icon:(0,y.jsx)(x.liv,{}),action:l,tooltip:"Share this version"},{icon:(0,y.jsx)(x.YkU,{}),action:d,tooltip:"Restore this version"}];let v=null;n.is_delete_marker?v="deleted":n.is_latest?v="current":"null"===n.version_id&&(v="null");let _=j.c9.now();return n.last_modified&&(_=j.c9.fromISO(n.last_modified)),(0,y.jsx)(xe,{children:(0,y.jsx)(x.xA9,{container:!0,className:"ctrItem",onClick:()=>{h(n)},style:b,children:(0,y.jsx)(x.xA9,{item:!0,xs:12,className:"intermediateLayer".concat(" ",s?"selected":""),children:(0,y.jsxs)(x.xA9,{item:!0,xs:!0,className:"mainFileVersionItem ".concat(n.is_delete_marker?"deleted":""),children:[(0,y.jsx)(x.xA9,{item:!0,xs:12,children:(0,y.jsxs)(x.xA9,{container:!0,children:[(0,y.jsxs)(x.xA9,{item:!0,xs:!0,md:4,className:"versionContainer",children:[o&&(0,y.jsx)(x.Sc0,{checked:a,id:"select-".concat(n.version_id),name:"select-".concat(n.version_id),onChange:e=>{e.stopPropagation(),i(n.version_id||"")},value:n.version_id||"",disabled:n.is_delete_marker,sx:{width:"initial"}}),z(t,!0)," v",m.toString(),(0,y.jsx)("span",{className:"versionItem",children:v&&(0,y.jsx)(he,{type:v})})]}),(0,y.jsx)(x.xA9,{item:!0,xs:10,md:8,className:"buttonContainer",children:f.map(((e,t)=>(0,y.jsx)(x.m_M,{tooltip:e.tooltip,children:(0,y.jsx)(x.K0,{size:"small",id:"version-action-".concat(e.tooltip,"-").concat(t.toString()),className:"spacing".concat(" ",g?"buttonDisabled":""),disabled:g,onClick:t=>{t.stopPropagation(),g?t.preventDefault():e.action(n)},sx:{backgroundColor:"#F8F8F8",borderRadius:"100%",width:"28px",height:"28px",padding:"5px","& .min-icon":{width:"14px",height:"14px"}},children:e.icon})},"version-action-".concat(e.tooltip,"-").concat(t.toString()))))})]})}),(0,y.jsx)(x.xA9,{item:!0,xs:12,className:"versionID",children:"null"!==n.version_id?n.version_id:"-"}),(0,y.jsxs)(x.xA9,{item:!0,xs:12,className:"collapsableInfo",children:[(0,y.jsxs)("span",{className:"versionData",children:[(0,y.jsx)("strong",{children:"Last modified:"})," ",_.toFormat("ccc, LLL dd yyyy HH:mm:ss (ZZZZ)")]}),(0,y.jsxs)("span",{className:"versionData",children:[(0,y.jsx)("strong",{children:"Size:"})," ",(0,c.nO)("".concat(n.size||"0"))]})]})]})})},p)})},pe=e=>{let{closeDeleteModalAndRefresh:t,deleteOpen:n,selectedBucket:a,selectedObject:d}=e;const u=(0,l.jL)(),[h,p]=(0,s.useState)(!1),[j,b]=(0,s.useState)(""),[g,f]=(0,s.useState)(!1),v=(0,o.d4)((e=>e.objectBrowser.retentionConfig)),S=(0,_._)([a],[r.OV.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===v||void 0===v?void 0:v.mode);if((0,s.useEffect)((()=>{h&&i.F.buckets.deleteObject(a,{prefix:d,non_current_versions:!0,bypass:g}).then((()=>{t(!0)})).catch((e=>{u((0,O.C9)((0,m.S)(e.error))),p(!1)}))}),[h,t,u,d,a,g]),!d)return null;return(0,y.jsx)(ee.A,{title:"Delete Non-Current versions",confirmText:"Delete",isOpen:n,titleIcon:(0,y.jsx)(x.xWY,{}),isLoading:h,onConfirm:()=>{p(!0)},onClose:()=>t(!1),confirmButtonProps:{disabled:"YES, PROCEED"!==j||h},confirmationContent:(0,y.jsxs)(s.Fragment,{children:["Are you sure you want to delete all the non-current versions for:"," ",(0,y.jsx)("b",{children:(0,c.x6)(d)}),"? ",(0,y.jsx)("br",{}),S&&(0,y.jsx)(s.Fragment,{children:(0,y.jsx)("div",{style:{marginTop:10},children:(0,y.jsx)(x.dOG,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:g,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:e=>{f(!g)},description:""})})}),(0,y.jsx)("br",{}),"To continue please type ",(0,y.jsx)("b",{children:"YES, PROCEED"})," in the box.",(0,y.jsx)("br",{}),(0,y.jsx)("br",{}),(0,y.jsx)(x.xA9,{item:!0,xs:12,children:(0,y.jsx)(x.cl_,{id:"type-confirm",name:"retype-tenant",onChange:e=>{b(e.target.value)},label:"",value:j})})]})})},je=e=>{let{closeDeleteModalAndRefresh:t,deleteOpen:n,selectedBucket:a,selectedVersions:c,selectedObject:d}=e;const u=(0,l.jL)(),[h,p]=(0,s.useState)(!1),[j,b]=(0,s.useState)(!1),g=(0,o.d4)((e=>e.objectBrowser.retentionConfig)),f=(0,_._)([a],[r.OV.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===g||void 0===g?void 0:g.mode);return(0,s.useEffect)((()=>{if(h){const e=c.map((e=>({path:d,versionID:e,recursive:!1})));e.length>0&&i.F.buckets.deleteMultipleObjects(a,e,{all_versions:!1,bypass:j}).then((()=>{p(!1),t(!0)})).catch((e=>{u((0,O.C9)((0,m.S)(e.error))),p(!1)}))}}),[h,t,a,d,c,j,u]),c?(0,y.jsx)(ee.A,{title:"Delete Selected Versions",confirmText:"Delete",isOpen:n,titleIcon:(0,y.jsx)(x.xWY,{}),isLoading:h,onConfirm:()=>{p(!0)},onClose:()=>t(!1),confirmationContent:(0,y.jsxs)(s.Fragment,{children:["Are you sure you want to delete the selected ",c.length," ","versions for ",(0,y.jsx)("strong",{children:d}),"?",f&&(0,y.jsx)(s.Fragment,{children:(0,y.jsx)("div",{style:{marginTop:10},children:(0,y.jsx)(x.dOG,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:j,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:e=>{b(!j)},description:""})})})]})}):null};var be=n(95098);const ge={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:0,tags:{},version_id:void 0},fe=e=>{let{internalPaths:t,bucketName:n}=e;const a=(0,l.jL)(),r=(0,o.d4)((e=>e.objectBrowser.searchVersions)),u=(0,o.d4)((e=>e.objectBrowser.loadingVersions)),p=(0,o.d4)((e=>e.objectBrowser.selectedVersion)),j=(0,o.d4)(O.Rq),[b,g]=(0,s.useState)(!1),[f,v]=(0,s.useState)(null),[_,S]=(0,s.useState)(null),[w,T]=(0,s.useState)([]),[C,E]=(0,s.useState)(!1),[A,I]=(0,s.useState)(null),[k,B]=(0,s.useState)("date"),[F,V]=(0,s.useState)(!1),[D,R]=(0,s.useState)(!1),[U,z]=(0,s.useState)(!1),[M,K]=(0,s.useState)([]),[W,H]=(0,s.useState)(!1);let Y=[];f&&f.name&&(Y=f.name.split("/")),(0,s.useEffect)((()=>{u||f||a((0,d.SK)(!0))}),[u,f,a]),(0,s.useEffect)((()=>{u&&""!==t&&i.F.buckets.listObjects(n,{prefix:t,with_versions:j}).then((e=>{const n=h()(e.data,"objects",[]),s=(0,c.x6)(t),o=n.filter((e=>e.name===s));j?(v(o.find((e=>e.is_latest))||ge),T(o)):(v(o[0]),T([])),a((0,d.SK)(!1))})).catch((e=>{a((0,O.C9)((0,m.S)(e.error))),a((0,d.SK)(!1))}))}),[u,n,t,a,j]);const $=e=>{S(e),g(!0)},Z=e=>{S(e),V(!0)},q=e=>{I(e),E(!0)},Q=e=>{(0,P._)(a,n,t,e)},X=e=>{a((0,d.Ai)(e.version_id||""))},ee=w.filter((e=>!!e.version_id&&e.version_id.includes(r))),te=w.reduce(((e,t)=>t.size?e+t.size:e),0);ee.sort(((e,t)=>{if("size"===k)return e.size&&t.size?e.sizet.size?1:0:0;{const n=new Date(e.last_modified||"").getTime(),s=new Date(t.last_modified||"").getTime();return ns?-1:0}}));const ne=e=>{if(M.includes(e)){const t=M.filter((t=>t!==e));return void K(t)}const t=[...M];t.push(e),K(t)};return(0,y.jsxs)(s.Fragment,{children:[b&&f&&(0,y.jsx)(J.default,{open:b,closeModalAndRefresh:()=>{S(null),g(!1),V(!1)},bucketName:n,dataObject:_||f}),C&&f&&A&&(0,y.jsx)(ue,{restoreOpen:C,bucketName:n,versionToRestore:A,objectPath:f.name||"",onCloseAndUpdate:e=>{E(!1),I(null),e&&(a((0,d.SK)(!0)),a((0,d.oe)(!0)))}}),F&&f&&(0,y.jsx)(G.default,{open:F,bucketName:n,actualInfo:{name:f.name||"",version_id:_&&_.version_id?_.version_id:"null",size:_&&_.size?_.size:0,content_type:"",last_modified:f.last_modified||""},onClosePreview:()=>{V(!1)}}),D&&(0,y.jsx)(pe,{deleteOpen:D,closeDeleteModalAndRefresh:e=>{R(!1),e&&(a((0,d.SK)(!0)),a((0,d.Ai)("")),a((0,d.oe)(!0)))},selectedBucket:n,selectedObject:t}),W&&(0,y.jsx)(je,{selectedBucket:n,selectedObject:(0,c.x6)(t),deleteOpen:W,selectedVersions:M,closeDeleteModalAndRefresh:e=>{H(!1),e&&(a((0,d.SK)(!0)),a((0,d.Ai)("")),a((0,d.oe)(!0)),K([]))}}),(0,y.jsxs)(x.xA9,{container:!0,sx:{width:"100%",padding:10,"@media (max-width: 799px)":{minHeight:800}},children:[!f&&(0,y.jsx)(x.xA9,{item:!0,xs:12,children:(0,y.jsx)(x.z21,{})}),f&&(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)(x.xA9,{item:!0,xs:12,children:(0,y.jsx)(N,{bucketName:n,internalPaths:(0,c.x6)(t),hidePathButton:!0})}),(0,y.jsx)(x.xA9,{item:!0,xs:12,sx:{position:"relative","& .detailsSpacer":{marginRight:18,"@media (max-width: 600px)":{marginRight:0}},["@media (max-width: ".concat(x.nmC.md,"px)")]:{"&::before":{display:"none"}}},children:(0,y.jsx)(x.lcx,{icon:(0,y.jsx)("span",{style:{display:"block",marginTop:"-10px"},children:(0,y.jsx)(x.j1U,{style:{width:20,height:20}})}),title:"".concat(Y.length>0?Y[Y.length-1]:f.name," Versions"),subTitle:(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)("span",{className:"detailsSpacer",children:(0,y.jsxs)("strong",{children:[w.length," Version",1===w.length?"":"s","\xa0\xa0\xa0"]})}),(0,y.jsx)("span",{className:"detailsSpacer",children:(0,y.jsx)("strong",{children:(0,c.qO)(te)})})]}),actions:(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)(L.A,{tooltip:"Select Multiple Versions",children:(0,y.jsx)(x.$nd,{id:"select-multiple-versions",onClick:()=>{z(!U)},icon:(0,y.jsx)(x.IN,{}),variant:U?"callAction":"regular",style:{marginRight:8}})}),U&&(0,y.jsx)(L.A,{tooltip:"Delete Selected Versions",children:(0,y.jsx)(x.$nd,{id:"delete-multiple-versions",onClick:()=>{H(!0)},icon:(0,y.jsx)(x.d7y,{}),variant:"secondary",style:{marginRight:8},disabled:0===M.length})}),(0,y.jsx)(L.A,{tooltip:"Delete Non Current Versions",children:(0,y.jsx)(x.$nd,{id:"delete-non-current",onClick:()=>{R(!0)},icon:(0,y.jsx)(x.rgY,{}),variant:"secondary",style:{marginRight:15},disabled:w.length<=1})}),(0,y.jsx)(x.l6P,{id:"sort-by",options:[{label:"Date",value:"date"},{label:"Size",value:"size"}],value:k,label:"Sort by",onChange:e=>{B(e)},noLabelMinWidth:!0})]}),bottomBorder:!1})}),(0,y.jsx)(x.xA9,{item:!0,xs:12,sx:{flexGrow:1,height:"calc(100% - 120px)",overflow:"auto",["@media (max-width: ".concat(x.nmC.md,"px)")]:{height:600}},children:f.version_id&&"null"!==f.version_id&&(0,y.jsx)(be.B8,{style:{width:"100%"},containerStyle:{width:"100%",maxWidth:"100%"},width:1,height:800,rowCount:ee.length,rowHeight:108,rowRenderer:e=>{let{key:t,index:n,isScrolling:s,isVisible:o,style:a}=e;const i=w.length-n;return(0,y.jsx)(me,{style:a,fileName:(null===f||void 0===f?void 0:f.name)||"",versionInfo:ee[n],index:i,onDownload:Q,onRestore:q,onShare:$,onPreview:Z,globalClick:X,isSelected:p===ee[n].version_id,checkable:U,onCheck:ne,isChecked:M.includes(ee[n].version_id||"")},t)}})})]})]})]})},ve=e=>{if(e.name.endsWith("/"))return"";const t=j.c9.now(),n=j.c9.fromISO(e.last_modified);return t.hasSame(n,"day")&&t.hasSame(n,"month")&&t.hasSame(n,"year")?"Today, ".concat(n.toFormat("HH:mm")):n.toFormat("ccc, LLL dd yyyy HH:mm (ZZZZ)")},_e=e=>e.name.endsWith("/")||!e.size?"-":(0,c.nO)(String(e.size)),Se=[{label:"Name",elementKey:"name",renderFunction:z,enableSort:!0},{label:"Last Modified",elementKey:"last_modified",renderFunction:ve,renderFullObject:!0,enableSort:!0},{label:"Size",elementKey:"size",renderFunction:_e,renderFullObject:!0,width:100,enableSort:!0}],Oe=[{label:"Name",elementKey:"name",renderFunction:z,enableSort:!0},{label:"Object Date",elementKey:"last_modified",renderFunction:ve,renderFullObject:!0,enableSort:!0},{label:"Size",elementKey:"size",renderFunction:_e,renderFullObject:!0,width:100,enableSort:!0},{label:"Deleted",elementKey:"delete_flag",renderFunction:e=>e?"Yes":"No",width:60}];var we=n(46537);const Te=()=>{const e=(0,l.jL)(),t=(0,a.g)(),n=(0,a.Zp)(),[i,u]=(0,s.useState)("ASC"),[m,p]=(0,s.useState)("name"),j=t.bucketName||"",b=(0,o.d4)((e=>e.objectBrowser.objectDetailsOpen)),g=(0,o.d4)((e=>e.objectBrowser.requestInProgress)),f=(0,o.d4)(we.s$),v=!(null===f||void 0===f||!f.includes("object-browser-only")),S=(0,o.d4)((e=>e.objectBrowser.rewind.rewindEnabled)),O=(0,o.d4)((e=>e.objectBrowser.records)),w=(0,o.d4)((e=>e.objectBrowser.searchObjects)),T=(0,o.d4)((e=>e.objectBrowser.selectedObjects)),C=(0,o.d4)((e=>e.objectBrowser.connectionError)),E=(0,o.d4)((e=>e.system.anonymousMode)),N=(0,_._)(j,[r.OV.S3_LIST_BUCKET,r.OV.S3_ALL_LIST_BUCKET]),I=O.filter((e=>{if(""===w)return!0;return e.name.toLowerCase().indexOf(w.toLowerCase())>=0})).sort((0,A.$w)(m));let k=[];k="ASC"===i?I:I.reverse();const B=[{type:"view",tooltip:"View",onClick:t=>{var s;const o=t.name||"",a="/browser/".concat(j).concat(o?"/".concat((0,c.nf)(o)):"");!E||null!==(s=t.name)&&void 0!==s&&s.endsWith("/")?(e((0,d.KX)([])),n(a),E||(e((0,d.TO)(!0)),e((0,d.SK)(!0))),e((0,d.A7)("".concat(o?"".concat((0,c.nf)(o)):"")))):(0,P._)(e,j,"".concat((0,c.nf)(o)),t)},sendOnlyId:!1}];let F=N||E?"This location is empty".concat(S?"":", please try uploading a new file"):(0,r.vj)([r.OV.S3_LIST_BUCKET,r.OV.S3_ALL_LIST_BUCKET],"view Objects in this bucket");C&&(F="Objects List unavailable. Please review your WebSockets configuration and try again");let L="calc(100vh - 290px)";return v&&(L="calc(100vh - 315px)"),(0,y.jsx)(x.bQt,{itemActions:B,columns:S?Oe:Se,isLoading:g,entityName:"Objects",idField:"name",records:k,customPaperHeight:L,selectedItems:T,onSelect:E?void 0:t=>{const n=t.target,s=n.value,o=n.checked;let a=[...T];return o?a.push(s):a=a.filter((e=>e!==s)),e((0,d.KX)(a)),e((0,d.A7)(null)),a},customEmptyMessage:F,sortEnabled:{currentSort:m,currentDirection:i,onSortClick:t=>{const n=h()(t,"sortDirection","DESC");p(t.sortBy),u(n),e((0,d.Yw)(!0))}},onSelectAll:()=>{if(e((0,d.A7)(null)),T.length===k.length)return void e((0,d.KX)([]));const t=k.map((e=>e.name));e((0,d.KX)(t))},rowStyle:e=>{var t;let{index:n}=e;return null!==(t=k[n])&&void 0!==t&&t.delete_flag?"deleted":""},sx:{minHeight:b?"100%":"initial"},noBackground:!0})};var ye=n(64681);const Ce=()=>{const e=(0,l.jL)(),t=(0,o.d4)((e=>e.objectBrowser.searchObjects));return(0,y.jsx)(ye.A,{placeholder:"Start typing to filter objects in the bucket",onChange:t=>{e((0,d.$X)(t))},value:t})};var Ee=n(30614);const Ne=(0,S.A)(s.lazy((()=>n.e(5941).then(n.bind(n,65941))))),Ae=(0,S.A)(s.lazy((()=>Promise.resolve().then(n.bind(n,30718))))),Ie=(0,S.A)(s.lazy((()=>n.e(2704).then(n.bind(n,32704))))),ke=(0,S.A)(s.lazy((()=>Promise.resolve().then(n.bind(n,37524))))),Be={borderWidth:2,borderRadius:2,borderColor:"transparent",outline:"none"},Fe={borderStyle:"dashed",backgroundColor:"transparent",borderColor:"#2196f3"},Le={borderStyle:"dashed",backgroundColor:"transparent",borderColor:"#00e676"},Ve=()=>{var e;const t=(0,l.jL)(),n=(0,a.g)(),u=(0,a.Zp)(),b=(0,a.zy)(),g=(0,o.d4)((e=>e.objectBrowser.rewind.rewindEnabled)),f=(0,o.d4)((e=>e.objectBrowser.rewind.bucketToRewind)),v=(0,o.d4)((e=>e.objectBrowser.versionsMode)),S=(0,o.d4)((e=>e.objectBrowser.showDeleted)),C=(0,o.d4)((e=>e.objectBrowser.objectDetailsOpen)),E=(0,o.d4)((e=>e.objectBrowser.selectedInternalPaths)),P=(0,o.d4)((e=>e.objectBrowser.requestInProgress)),R=(0,o.d4)((e=>e.objectBrowser.simplePath)),U=(0,o.d4)((e=>e.objectBrowser.versionInfo)),z=(0,o.d4)((e=>e.objectBrowser.lockingEnabled)),G=(0,o.d4)((e=>e.objectBrowser.downloadRenameModal)),M=(0,o.d4)((e=>e.objectBrowser.selectedPreview)),J=(0,o.d4)((e=>e.objectBrowser.shareFileModalOpen)),K=(0,o.d4)((e=>e.objectBrowser.previewOpen)),W=(0,o.d4)((e=>e.objectBrowser.selectedBucket)),H=(0,o.d4)((e=>e.system.anonymousMode)),Y=(0,o.d4)((e=>e.objectBrowser.anonymousAccessOpen)),$=(0,o.d4)((e=>{var t;return(null===(t=e.objectBrowser)||void 0===t?void 0:t.records)||[]})),Z=(0,o.d4)(B.Nx),q=(0,o.d4)(B.fT),[Q,X]=(0,s.useState)(!1),[ee,te]=(0,s.useState)(!1),[ne,se]=(0,s.useState)(!1),[oe,ae]=(0,s.useState)(!1),[ie,le]=(0,s.useState)(!1),[ce,ue]=(0,s.useState)(null),[he,xe]=(0,s.useState)(null),[me,pe]=(0,s.useState)(!1),je=I(U.status),be=n.bucketName||"",ge=b.pathname.split("/browser/".concat(be,"/")),ve=2===ge.length?ge[1]:"",_e=(0,c.x6)(ve),Se=_e.split("/").filter((e=>""!==e));let Oe=[be];Se.length>0&&(Oe=Oe.concat(Se));const we=(0,s.useRef)(null),ye=(0,s.useRef)(null),Ve=(0,o.d4)((e=>e.console.session&&e.console.session.permissions||{})),De=[r.OV.S3_PUT_OBJECT,r.OV.S3_PUT_ACTIONS],Pe=Oe.join("/"),Re=function(e,t){const n=T(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:[]).reduce(((e,t)=>{const n=w(t);return n&&e.push(".".concat(n)),e}),[]);return[...new Set(n)].join(",")}(Ve,Pe,De),Ue=T(Ve,Pe,De),ze=(0,_._)([Pe,...Ue],[r.OV.S3_GET_OBJECT,r.OV.S3_GET_ACTIONS]),Ge=(0,_._)(be,[r.OV.S3_GET_OBJECT,r.OV.S3_GET_ACTIONS,r.OV.S3_GET_BUCKET_VERSIONING]),Me=(0,_._)([Pe,...Ue],[r.OV.S3_DELETE_OBJECT]),Je=(0,_._)([Pe,...Ue],De)||H,Ke=(0,_._)(be,[r.OV.S3_GET_BUCKET_POLICY,r.OV.S3_PUT_BUCKET_POLICY,r.OV.S3_GET_ACTIONS,r.OV.S3_PUT_ACTIONS]),We=(0,o.d4)((e=>e.objectBrowser.selectedObjects)),He=(()=>{let e=!1;if(1===We.length){e=!!$.find((e=>e.name==="".concat(We[0])&&e.delete_flag))}return e})(),Ye=(0,s.useCallback)((()=>{const e=We[0],t=(0,c.nf)(e);!me&&t&&i.F.buckets.getObjectMetadata(be,{prefix:t}).then((e=>{let t=h()(e.data,"objectMetadata",{});pe(!0),xe(t)})).catch((e=>{console.error("Error Getting Metadata Status: ",e,null===e||void 0===e?void 0:e.detailedError),pe(!0)}))}),[be,We,me]);(0,s.useEffect)((()=>{be&&!He&&Ye()}),[be,We,Ye,He]),(0,s.useEffect)((()=>{g&&f!==be&&t((0,d.rS)())}),[g,f,be,t]),(0,s.useEffect)((()=>{null!==ye.current&&(ye.current.setAttribute("directory",""),ye.current.setAttribute("webkitdirectory",""))}),[ye]),(0,s.useEffect)((()=>{if(1===We.length){const e=We[0],t=e.endsWith("/");let n=(0,A.IZ)(he,e);le(!("none"===n||!ze)),ae(!(!ze||t))}else ae(!1),le(!1)}),[We,ze,he]),(0,s.useEffect)((()=>{ce||H||i.F.buckets.getBucketQuota(be).then((e=>{let t=null;e.data.quota&&(t=e.data),ue(t)})).catch((e=>{console.error("Error Getting Quota Status: ",e.error.detailedMessage),ue(null)}))}),[ce,be,H]),(0,s.useEffect)((()=>{We.length>0?t((0,d.TO)(!0)):0!==We.length||null!==E||P||t((0,d.TO)(!1))}),[We,E,t,P]),(0,s.useEffect)((()=>{ne||(t((0,B.ZU)(!0)),se(!0))}),[ne,t,se]),(0,s.useEffect)((()=>{!P&&!Z||H||i.F.buckets.bucketInfo(be).then((e=>{t((0,B.ZU)(!1)),t((0,B.$T)(e.data))})).catch((e=>{t((0,B.ZU)(!1)),t((0,O.C9)((0,m.S)(e)))}))}),[be,Z,t,H,P]),(0,s.useEffect)((()=>{""!==W&&i.F.buckets.getBucketRetentionConfig(W).then((e=>{t((0,d.PJ)(e.data))})).catch((()=>{t((0,d.PJ)(null))}))}),[W,t]);const $e=e=>{if(null!==e&&void 0!==e&&null!==e.target.files&&void 0!==e.target.files){e.preventDefault();var t=[];for(let n=0;n{let s="";R&&(s=R.endsWith("/")?R:R+"/");((e,n,s,o)=>{let a=a=>new Promise(((i,l)=>{let r="api/v1/buckets/".concat(n,"/objects/upload");const u=a.name,x=new Blob([a],{type:a.type});let m="";const p=h()(a,"path",""),j=h()(a,"webkitRelativePath","");let b=o;const g=(0,k.E0)(8);""!==p?b=p:""!==j&&(b=j);let f="";if(""!==s||""!==b){const e=b.split("/").slice(0,-1).join("/"),t=s.endsWith("/")?s.slice(0,-1):s;f="".concat(t).concat(t.endsWith("/")||""===e||e.startsWith("/")?"":"/").concat(e).concat(!e.endsWith("/")||""===e.trim()&&!s.endsWith("/")?"/":"")}r=""!==f?"".concat(r,"?prefix=").concat((0,c.nf)(f+u)):"".concat(r,"?prefix=").concat((0,c.nf)(u)),m=(0,c.nf)(f);const v=(0,c.nf)("".concat(n,"-").concat(m,"-").concat((new Date).getTime(),"-").concat(Math.random()));let _=new XMLHttpRequest;_.open("POST",r,!0),H&&_.setRequestHeader("X-Anonymous","1");const S=e.length>1;let O="An error occurred while uploading the file".concat(S?"s":"",".");const w={413:"Error - File size too large"};_.withCredentials=!1,_.onload=function(){if(_.status>=200&&_.status<300)t((0,d.rx)(v)),i({status:_.status}),(0,k.vy)(g);else{if(w[_.status])O=w[_.status];else if(_.response)try{const e=JSON.parse(_.response);O=e.detailedMessage}catch(e){O="something went wrong"}t((0,d.iL)({instanceID:v,msg:O})),l({status:_.status,message:O}),(0,k.vy)(g)}},_.upload.addEventListener("error",(()=>{l(O),t((0,d.iL)({instanceID:v,msg:"A network error occurred."}))})),_.upload.addEventListener("progress",(e=>{const n=Math.floor(100*e.loaded/e.total);t((0,d.DW)({instanceID:v,progress:n}))})),_.onerror=()=>{l(O),t((0,d.iL)({instanceID:v,msg:"A network error occurred."}))},_.onloadend=()=>{0===e.length&&t((0,d.Yw)(!0))},_.onabort=()=>{t((0,d.Dm)(v))};const T=new FormData;void 0!==a.size&&(T.append(a.size.toString(),x,u),(0,k.FP)(g,_),t((0,d.cP)({ID:g,bucketName:n,done:!1,instanceID:v,percentage:0,prefix:"".concat((0,c.x6)(m)).concat(u),type:"upload",waitingForFile:!1,failed:!1,cancelled:!1,errorMessage:""})),(0,k.vx)(g,T))}));const i=[];t((0,d.Nu)());for(let t=0;t{const n=e.filter((e=>"rejected"===e.status));if(n.length>0){const e=i.length,s=i.length-n.length,o={errorMessage:"There were some errors during file upload",detailedError:"Uploaded files ".concat(s,"/").concat(e)};t((0,O.C9)(o))}t((0,d.Yw)(!0))}))})(e,be,s,n)}),[be,t,R,H]),qe=(0,s.useCallback)((e=>{if(e&&e.length>0&&Je){let n=e[0].path,s=e;Re.length>0&&(s=e.filter((e=>{const t=w(e.name);return Re.includes(t)}))),s.length?(Ze(s,n),console.log("".concat(s.length," Allowed Files Processed out of ").concat(e.length,"."),Pe,...Ue),s.length!==e.length&&t((0,O.C9)({errorMessage:"Upload is restricted.",detailedError:(0,r.vj)([r.OV.S3_PUT_OBJECT,r.OV.S3_PUT_ACTIONS],"upload objects to this location")}))):(t((0,O.C9)({errorMessage:"Could not process drag and drop.",detailedError:(0,r.vj)([r.OV.S3_PUT_OBJECT,r.OV.S3_PUT_ACTIONS],"upload objects to this location")})),console.error("Could not process drag and drop . upload may be restricted.",Pe,...Ue))}Je||t((0,O.C9)({errorMessage:"Upload not allowed",detailedError:(0,r.vj)([r.OV.S3_PUT_OBJECT,r.OV.S3_PUT_ACTIONS],"upload objects to this location")}))}),[Ze]),{getRootProps:Qe,getInputProps:Xe,isDragActive:et,isDragAccept:tt}=(0,p.VB)({noClick:!0,onDrop:qe}),nt=(0,s.useMemo)((()=>({...Be,...et?Fe:{},...tt?Le:{}})),[et,tt]),st=e=>{if(t((0,d.A7)(null)),t((0,d.cQ)({status:!1})),C&&null!==E){const e=(0,c.x6)(ve).split("/");e.pop();let t="";e&&e.length>0&&(t="".concat(e.join("/"),"/")),u("/browser/".concat(be,"/").concat((0,c.nf)(t)))}t((0,d.TO)(!1)),e&&t((0,d.Yw)(!0))};let ot=j.c9.now();null!==q&&void 0!==q&&q.creation_date&&(ot=j.c9.fromISO(q.creation_date));const at=(null===We||void 0===We?void 0:We.length)<=1?"Download Selected":" Download selected objects as Zip. Any Deleted objects in the selection would be skipped from download.",it=[{action:()=>{t((0,F.op)(be))},label:"Download",disabled:!ze||He,icon:(0,y.jsx)(x.s3U,{}),tooltip:ze?at:(0,r.vj)([r.OV.S3_GET_OBJECT,r.OV.S3_GET_ACTIONS],"download objects from this bucket")},{action:()=>{t((0,F.mS)())},label:"Share",disabled:1!==We.length||!oe||He,icon:(0,y.jsx)(x.liv,{}),tooltip:oe?"Share Selected File":"Sharing unavailable"},{action:()=>{t((0,F.HS)())},label:"Preview",disabled:1!==We.length||!ie||He,icon:(0,y.jsx)(x.cyn,{}),tooltip:ie?"Preview Selected File":"Preview unavailable"},{action:()=>{t((0,F.oz)())},label:"Anonymous Access",disabled:1!==We.length||!We[0].endsWith("/")||!Ke,icon:(0,y.jsx)(x._kf,{}),tooltip:1===We.length&&We[0].endsWith("/")?"Set Anonymous Access to this Folder":"Anonymous Access unavailable"},{action:()=>{X(!0)},label:"Delete",icon:(0,y.jsx)(x.d7y,{}),disabled:!Me||0===We.length,tooltip:Me?"Delete Selected Files":(0,r.vj)([r.OV.S3_DELETE_OBJECT],"delete objects in this bucket")}];return(0,y.jsxs)(s.Fragment,{children:[J&&M&&(0,y.jsx)(Ae,{open:J,closeModalAndRefresh:()=>{t((0,d.Lf)(!1)),t((0,d.go)(null))},bucketName:be,dataObject:{name:M.name,last_modified:"",version_id:M.version_id}}),Q&&(0,y.jsx)(Ne,{deleteOpen:Q,selectedBucket:be,selectedObjects:We,closeDeleteModalAndRefresh:e=>{X(!1),e&&(t((0,O.Hk)("Objects deleted successfully.")),t((0,d.KX)([])),t((0,d.Yw)(!0)))},versioning:U}),ee&&(0,y.jsx)(Ie,{open:ee,closeModalAndRefresh:()=>{te(!1)},bucketName:be}),K&&M&&(0,y.jsx)(ke,{open:K,bucketName:be,actualInfo:{name:M.name||"",last_modified:"",version_id:M.version_id||"",size:M.size||0},onClosePreview:()=>{t((0,d.xE)(!1)),t((0,d.go)(null))}}),!!G&&(0,y.jsx)(re,{open:!!G,closeModal:()=>{t((0,d.Ew)(null))},currentItem:(null===(e=G.name.split("/"))||void 0===e?void 0:e.pop())||"",bucketName:be,internalPaths:ve,actualInfo:{name:G.name,last_modified:"",version_id:G.version_id,size:G.size}}),Y&&(0,y.jsx)(Ee.default,{onClose:()=>{t((0,d.I8)(!1))},bucket:be,modalOpen:Y,prefilledRoute:"".concat(We[0],"*")}),(0,y.jsxs)(x.Mxu,{variant:"full",children:[H&&(0,y.jsx)("div",{style:{paddingBottom:16},children:(0,y.jsx)(Ce,{})}),(0,y.jsx)(x.azJ,{withBorders:!0,sx:{padding:"0 5px"},children:(0,y.jsx)(x.lcx,{icon:(0,y.jsx)("span",{children:(0,y.jsx)(x.brV,{style:{width:30}})}),title:be,subTitle:H?null:(0,y.jsxs)(x.azJ,{sx:{"& .detailsSpacer":{marginRight:18,"@media (max-width: 600px)":{marginRight:0}}},children:[(0,y.jsxs)("span",{className:"detailsSpacer",children:["Created on:\xa0",(0,y.jsx)("strong",{children:null!==q&&void 0!==q&&q.creation_date?ot.toFormat("ccc, LLL dd yyyy HH:mm:ss (ZZZZ)"):""})]}),(0,y.jsxs)("span",{className:"detailsSpacer",children:["Access:\xa0\xa0",(0,y.jsx)("strong",{children:(null===q||void 0===q?void 0:q.access)||""})]}),q&&(0,y.jsx)(s.Fragment,{children:(0,y.jsxs)("span",{className:"detailsSpacer",children:[q.size&&(0,y.jsx)(s.Fragment,{children:(0,c.qO)(q.size)}),q.size&&ce&&(0,y.jsxs)(s.Fragment,{children:[" ","/ ",(0,c.qO)(ce.quota||0)]}),q.size&&q.objects?" - ":"",q.objects&&(0,y.jsxs)(s.Fragment,{children:[q.objects,"\xa0Object",q.objects&&1!==q.objects?"s":""]})]})})]}),actions:(0,y.jsxs)(s.Fragment,{children:[!H&&(0,y.jsx)(L.A,{tooltip:Ge?"Rewind Bucket":(0,r.vj)([r.OV.S3_GET_OBJECT,r.OV.S3_GET_ACTIONS,r.OV.S3_GET_BUCKET_VERSIONING],"apply rewind in this bucket"),children:(0,y.jsx)(x.$nd,{id:"rewind-objects-list",label:"Rewind",icon:(0,y.jsx)(x.Exy,{color:"alert",dotOnly:!0,invisible:!g,children:(0,y.jsx)(x.osr,{style:{minWidth:16,minHeight:16,width:16,height:16,marginTop:-3}})}),variant:"regular",onClick:()=>{te(!0)},disabled:!je||!Ge})}),(0,y.jsx)(L.A,{tooltip:"Reload List",children:(0,y.jsx)(x.$nd,{id:"refresh-objects-list",label:"Refresh",icon:(0,y.jsx)(x.fNY,{}),variant:"regular",onClick:()=>{v?t((0,d.SK)(!0)):(t((0,d.A3)()),t((0,d.Yw)(!0)))},disabled:!H&&(!(0,_._)(be,[r.OV.S3_LIST_BUCKET,r.OV.S3_ALL_LIST_BUCKET])||g)})}),(0,y.jsx)("input",{type:"file",multiple:!0,accept:Re||void 0,onChange:$e,style:{display:"none"},ref:we}),(0,y.jsx)("input",{type:"file",multiple:!0,onChange:$e,style:{display:"none"},ref:ye}),(0,y.jsx)(V,{bucketName:be,uploadPath:Pe,uploadFileFunction:e=>{we&&we.current&&we.current.click(),e()},uploadFolderFunction:e=>{ye&&ye.current&&ye.current.click(),e()}})]}),bottomBorder:!1})}),(0,y.jsxs)("div",{id:"object-list-wrapper",...Qe({style:{...nt}}),children:[(0,y.jsx)("input",{...Xe()}),(0,y.jsxs)(x.azJ,{withBorders:!0,sx:{display:"flex",borderTop:0,padding:0,"& .hideListOnSmall":{"@media (max-width: 799px)":{display:"none"}}},children:[v?(0,y.jsx)(s.Fragment,{children:null!==E&&(0,y.jsx)(fe,{internalPaths:E,bucketName:be})}):(0,y.jsx)(_.R,{scopes:[r.OV.S3_LIST_BUCKET,r.OV.S3_ALL_LIST_BUCKET],resource:be,errorProps:{disabled:!0},children:(0,y.jsxs)(x.xA9,{item:!0,xs:12,sx:{width:"100%",position:"relative","&.detailsOpen":{"@media (max-width: 799px)":{display:"none"}}},className:C?"detailsOpen":"",children:[!H&&(0,y.jsx)(x.xA9,{item:!0,xs:12,sx:{padding:"12px 14px 5px"},children:(0,y.jsx)(N,{bucketName:be,internalPaths:_e,additionalOptions:!je||g?null:(0,y.jsx)(x.Sc0,{name:"deleted_objects",id:"showDeletedObjects",value:"deleted_on",label:"Show deleted objects",onChange:()=>{t((0,d.A3)()),t((0,d.lA)(!S)),st(!0)},checked:S,sx:{marginLeft:5,"@media (max-width: 600px)":{marginLeft:0,flexDirection:"row"}}}),hidePathButton:!1})}),(0,y.jsx)(Te,{})]})}),!H&&(0,y.jsx)(_.R,{scopes:[r.OV.S3_LIST_BUCKET,r.OV.S3_ALL_LIST_BUCKET],resource:be,errorProps:{disabled:!0},children:(0,y.jsxs)(D,{open:C,closePanel:()=>{st(!1)},className:"".concat(v?"hideListOnSmall":""),children:[We.length>0&&(0,y.jsx)(x.Smc,{items:it,title:"Selected Objects:"}),null!==E&&(0,y.jsx)(de,{internalPaths:E,bucketName:be,onClosePanel:st,versioningInfo:U,locking:z})]})})]})]})]})]})};var De=n(18218),Pe=n(69772),Re=n(48793),Ue=n(59707),ze=n(92452);const Ge=e=>{let{bucketName:t}=e;const n=(0,l.jL)(),i=(0,o.d4)(we.s$),c=(0,o.d4)((e=>e.objectBrowser.versionsMode)),u=(0,o.d4)((e=>e.objectBrowser.versionedFile)),h=(0,o.d4)((e=>e.objectBrowser.searchVersions)),m=!(null===i||void 0===i||!i.includes("object-browser-only")),p=(0,a.Zp)(),j=(0,De.A)(t,[r.OV.S3_GET_BUCKET_POLICY,r.OV.S3_PUT_BUCKET_POLICY,r.OV.S3_GET_BUCKET_VERSIONING,r.OV.S3_PUT_BUCKET_VERSIONING,r.OV.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION,r.OV.S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION,r.OV.S3_DELETE_BUCKET,r.OV.S3_GET_BUCKET_NOTIFICATIONS,r.OV.S3_PUT_BUCKET_NOTIFICATIONS,r.OV.S3_GET_REPLICATION_CONFIGURATION,r.OV.S3_PUT_REPLICATION_CONFIGURATION,r.OV.S3_GET_LIFECYCLE_CONFIGURATION,r.OV.S3_PUT_LIFECYCLE_CONFIGURATION,r.OV.ADMIN_GET_BUCKET_QUOTA,r.OV.ADMIN_SET_BUCKET_QUOTA,r.OV.S3_PUT_BUCKET_TAGGING,r.OV.S3_GET_BUCKET_TAGGING,r.OV.S3_LIST_BUCKET_VERSIONS,r.OV.S3_GET_BUCKET_POLICY_STATUS,r.OV.S3_DELETE_BUCKET_POLICY,r.OV.S3_GET_ACTIONS,r.OV.S3_PUT_ACTIONS]),b=(0,y.jsx)(s.Fragment,{children:c?(0,y.jsx)(s.Fragment,{children:(0,y.jsx)(ye.A,{placeholder:"Start typing to filter versions of ".concat(u),onChange:e=>{n((0,d.aj)(e))},value:h})}):(0,y.jsx)(_.R,{scopes:[r.OV.S3_LIST_BUCKET,r.OV.S3_ALL_LIST_BUCKET],resource:t,errorProps:{disabled:!0},children:(0,y.jsx)(Ce,{})})});return(0,s.useEffect)((()=>{n((0,O.ph)("object_browser"))}),[]),(0,y.jsx)(s.Fragment,{children:m?(0,y.jsxs)(x.xA9,{container:!0,sx:{padding:"20px 32px 0"},children:[(0,y.jsx)(x.xA9,{children:(0,y.jsx)(Pe.A,{marginRight:30,marginTop:10})}),(0,y.jsxs)(x.xA9,{item:!0,xs:!0,sx:{display:"flex",gap:10},children:[b,(0,y.jsx)(Ue.A,{})]})]}):(0,y.jsx)(Re.A,{label:(0,y.jsx)(x.EGL,{label:"Object Browser",onClick:()=>{p(r.zZ.OBJECT_BROWSER_VIEW)}}),actions:(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)(_.R,{scopes:r.pC[r.ac.BUCKET_ADMIN],resource:t,errorProps:{disabled:!0},children:(0,y.jsx)(L.A,{tooltip:j?"Configure Bucket":"You do not have the required permissions to configure this bucket. Please contact your MinIO administrator to request "+r.ac.BUCKET_ADMIN+" permisions.",children:(0,y.jsx)(x.$nd,{id:"configure-bucket-main",color:"primary","aria-label":"Configure Bucket",onClick:()=>p("/buckets/".concat(t,"/admin")),icon:(0,y.jsx)(x.Zes,{style:{width:20,height:20,marginTop:-3}}),style:{padding:"0 10px"}})})}),(0,y.jsx)(ze.A,{})]}),middleComponent:b})})},Me=()=>{const e=(0,l.jL)(),t=(0,a.g)(),n=(0,a.zy)(),u=(0,o.d4)((e=>e.objectBrowser.loadingVersioning)),h=(0,o.d4)((e=>e.objectBrowser.rewind.rewindEnabled)),x=(0,o.d4)((e=>e.objectBrowser.rewind.dateToRewind)),m=(0,o.d4)((e=>e.objectBrowser.showDeleted)),p=(0,o.d4)((e=>e.objectBrowser.requestInProgress)),j=(0,o.d4)((e=>e.objectBrowser.loadingLocking)),b=(0,o.d4)((e=>e.objectBrowser.reloadObjectsList)),g=(0,o.d4)((e=>e.objectBrowser.simplePath)),f=(0,o.d4)((e=>e.system.anonymousMode)),v=(0,o.d4)((e=>e.objectBrowser.selectedBucket)),_=(0,o.d4)((e=>e.objectBrowser.records)),S=t.bucketName||"",O=n.pathname.split("/browser/".concat(S,"/")),w=2===O.length?O[1]:"",T=(0,s.useCallback)((t=>{let n=(new Date).toISOString();null!==x&&h&&(n=x);e({type:"socket/OBRequest",payload:{bucketName:S,path:t,rewindMode:h||m,date:n}})}),[S,m,x,h,e]),C=(0,s.useCallback)((function(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const n=(0,c.x6)(w);e((0,d.cQ)({status:!1}));let s=n;n.endsWith("/")||""===n||(s="".concat(n.split("/").slice(0,-1).join("/"),"/")),"/"===s&&(s=""),(s!==g||S!==v||t)&&(e((0,d.u)(!0)),T(s))}),[w,e,g,v,S,T]);(0,s.useEffect)((()=>()=>{e({type:"socket/OBCancelLast"})}),[e]),(0,s.useEffect)((()=>{const t=(0,c.x6)(w);e((0,d.vn)(!0)),t.endsWith("/")||""===t?(e((0,d.TO)(!1)),e((0,d.A7)(null)),e((0,d.Qy)(!0))):(e((0,d.oe)(!0)),e((0,d.TO)(!0)),e((0,d.SK)(!0)),e((0,d.A7)("".concat(t?"".concat((0,c.nf)(t)):""))))}),[S,w,x,h,e]),(0,s.useEffect)((()=>{C(!1)}),[C]),(0,s.useEffect)((()=>{b&&0===_.length&&!p&&C(!0)}),[b,_,p,C]);const E=(0,De.A)(S,[r.OV.S3_LIST_BUCKET,r.OV.S3_ALL_LIST_BUCKET])||f;return(0,s.useEffect)((()=>{u&&!f&&(E?i.F.buckets.getBucketVersioning(S).then((t=>{e((0,d.AP)(t.data)),e((0,d.vn)(!1))})).catch((t=>{console.error("Error Getting Object Versioning Status: ",t.error.detailedMessage),e((0,d.vn)(!1))})):(e((0,d.vn)(!1)),e((0,d.A3)())))}),[S,u,e,E,f]),(0,s.useEffect)((()=>{j&&(E?i.F.buckets.getBucketObjectLockingStatus(S).then((t=>{e((0,d.xW)(t.data.object_locking_enabled)),e((0,d.Qy)(!1))})).catch((t=>{console.error("Error Getting Object Locking Status: ",t.error.detailedMessage),e((0,d.Qy)(!1))})):(e((0,d.A3)()),e((0,d.Qy)(!1))))}),[S,j,e,E]),(0,y.jsxs)(s.Fragment,{children:[!f&&(0,y.jsx)(Ge,{bucketName:S}),(0,y.jsx)(Ve,{})]})}},30718:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>f});var s=n(65043),o=n(22166),a=n(89923),i=n(61476),l=n.n(i),r=n(94141),c=n(24241),d=n(70579);const u=e=>{let{id:t,initialDate:n,label:o,maxSeconds:i,entity:l,onChange:r}=e;const u=Math.floor(i/86400),h=Math.floor(i%86400/3600),x=Math.floor(i%3600/60),[m,p]=(0,s.useState)(0),[j,b]=(0,s.useState)(0),[g,f]=(0,s.useState)(0),[v,_]=(0,s.useState)(!0),[S,O]=(0,s.useState)(c.c9.now());(0,s.useEffect)((()=>{p(u),b(h),f(x)}),[u,h,x]),(0,s.useEffect)((()=>{isNaN(j)||isNaN(m)||isNaN(g)||O(((e,t,n,s)=>c.c9.fromJSDate(e).plus({hours:n+24*t,minutes:s}))(n,m,j,g))}),[n,m,j,g]),(0,s.useEffect)((()=>{if(v){const e=S.toFormat("yyyy-MM-dd HH:mm:ss");r(e.split(" ").join("T"),!0)}else r("0000-00-00",!1)}),[S,r,v]),(0,s.useEffect)((()=>{let e=!0;(m<0||m>7||m>u||isNaN(m))&&(e=!1),(j<0||j>23||isNaN(j))&&(e=!1),(g<0||g>59||isNaN(g))&&(e=!1),m===u&&(j>h&&(e=!1),j===h&&g>x&&(e=!1)),m<=0&&j<=0&&g<=0&&(e=!1),_(e)}),[S,u,h,x,r,m,j,g]);const w={"& .textBoxContainer":{minWidth:0},"& input":{textAlign:"center",paddingRight:10,paddingLeft:10,width:40}};return(0,d.jsxs)(a.azJ,{className:"inputItem",children:[(0,d.jsx)(a.azJ,{sx:{display:"flex",alignItems:"center",marginBottom:5},children:(0,d.jsx)(a.l1Y,{htmlFor:t,children:o})}),(0,d.jsxs)(a.azJ,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"space-evenly",gap:10,"& .reverseInput":{flexFlow:"row-reverse","& > label":{fontWeight:400,marginLeft:15,marginRight:25}}},children:[(0,d.jsx)(a.azJ,{children:(0,d.jsx)(a.cl_,{id:t,className:"reverseInput removeArrows",type:"number",min:"0",max:"7",label:"Days",name:t,onChange:e=>{p(parseInt(e.target.value))},value:m.toString(),sx:w,noLabelMinWidth:!0})}),(0,d.jsx)(a.azJ,{children:(0,d.jsx)(a.cl_,{id:t,className:"reverseInput removeArrows",type:"number",min:"0",max:"23",label:"Hours",name:t,onChange:e=>{b(parseInt(e.target.value))},value:j.toString(),sx:w,noLabelMinWidth:!0})}),(0,d.jsx)(a.azJ,{children:(0,d.jsx)(a.cl_,{id:t,className:"reverseInput removeArrows",type:"number",min:"0",max:"59",label:"Minutes",name:t,onChange:e=>{f(parseInt(e.target.value))},value:g.toString(),sx:w,noLabelMinWidth:!0})})]}),(0,d.jsx)(a.azJ,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-start",marginTop:25,marginLeft:10,marginBottom:15,"& .validityText":{fontSize:14,marginTop:15,display:"flex",alignItems:"center",justifyContent:"center","@media (max-width: 900px)":{flexFlow:"column"},"& > .min-icon":{color:"#5E5E5E",width:15,height:15,marginRight:10}},"& .validTill":{fontWeight:"bold",marginLeft:15},"& .invalidDurationText":{marginTop:15,display:"flex",color:"red",fontSize:11}},children:v?(0,d.jsxs)("div",{className:"validityText",children:[(0,d.jsx)(a.qYV,{}),(0,d.jsxs)("div",{children:[l," will be available until:"]})," ",(0,d.jsx)("div",{className:"validTill",children:S.toFormat("MM/dd/yyyy HH:mm:ss ZZZZ")})]}):(0,d.jsx)("div",{className:"invalidDurationText",children:"Please select a valid duration."})})]})};var h=n(56483),x=n(64159),m=n(20554),p=n(56629),j=n(53518),b=n(81708),g=n(6035);const f=e=>{let{open:t,closeModalAndRefresh:n,bucketName:i,dataObject:c}=e;const f=(0,m.jL)(),v=(0,o.d4)(x.Rq),_=(0,o.d4)(g.yL),[S,O]=(0,s.useState)(""),[w,T]=(0,s.useState)(!0),[y,C]=(0,s.useState)(!1),[E,N]=(0,s.useState)(""),[A,I]=(0,s.useState)(!0),[k,B]=(0,s.useState)("null"),F=new Date;return(0,s.useEffect)((()=>{f((0,b.Ex)())}),[f]),(0,s.useEffect)((()=>{if(void 0===c.version_id)return v?(p.F.buckets.listObjects(i,{prefix:(0,h.nf)(c.name||""),with_versions:v}).then((e=>{const t=(e.data.objects||[]).find((e=>e.is_latest));B(t?"".concat(t.version_id):"null")})).catch((e=>{f((0,x.Dy)((0,j.S)(e.error)))})),void T(!1)):(B("null"),void T(!1));B(c.version_id||"null"),T(!1)}),[i,c,v,f]),(0,s.useEffect)((()=>{if(A&&!w){C(!0),O("");const e=new Date("".concat(E)),t=new Date,n=Math.ceil((e.getTime()-t.getTime())/1e3);n>0&&p.F.buckets.shareObject(i,{prefix:(0,h.nf)(c.name||""),version_id:k,expires:""!==E?"".concat(n,"s"):""}).then((e=>{O(e.data),C(!1)})).catch((e=>{f((0,x.Dy)((0,j.S)(e.error))),O(""),C(!1)}))}}),[c,E,i,A,O,f,v,w,k]),(0,d.jsx)(s.Fragment,{children:(0,d.jsxs)(r.A,{title:"Share File",titleIcon:(0,d.jsx)(a.liv,{style:{fill:"#4CCB92"}}),modalOpen:t,onClose:()=>{n()},children:[w&&(0,d.jsx)(a.xA9,{item:!0,xs:12,children:(0,d.jsx)(a.z21,{})}),!w&&(0,d.jsxs)(s.Fragment,{children:[(0,d.jsx)(a.xA9,{item:!0,xs:12,sx:{fontSize:14,fontWeight:400},children:(0,d.jsx)(a.m_M,{placement:"right",tooltip:(0,d.jsxs)("span",{children:["You can reset your session by logging out and logging back in to the web UI. ",(0,d.jsx)("br",{})," ",(0,d.jsx)("br",{}),"You can increase the maximum configuration time by setting the MINIO_STS_DURATION environment variable on all your nodes. ",(0,d.jsx)("br",{})," ",(0,d.jsx)("br",{}),"You can use ",(0,d.jsx)("b",{children:"mc share"})," as an alternative to this UI, where the session length does not limit the URL validity."]}),children:(0,d.jsxs)("span",{children:["The following URL lets you share this object without requiring a login. ",(0,d.jsx)("br",{}),"The URL expires automatically at the earlier of your configured time (",(0,h.K7)(_),") or the expiration of your current web session."]})})}),(0,d.jsx)("br",{}),(0,d.jsx)(a.xA9,{item:!0,xs:12,children:(0,d.jsx)(u,{initialDate:F,id:"date",label:"Active for",maxSeconds:_,onChange:(e,t)=>{I(t),t?N(e):(N(""),O(""))},entity:"Link"})}),(0,d.jsx)(a.xA9,{item:!0,xs:12,sx:{marginBottom:10},children:(0,d.jsx)(a.EmB,{actionButton:(0,d.jsx)(l(),{text:S,children:(0,d.jsx)(a.$nd,{id:"copy-path",variant:"regular",onClick:()=>{f((0,x.h0)("Share URL Copied to clipboard"))},disabled:""===S||y,style:{width:"28px",height:"28px",padding:"0px"},icon:(0,d.jsx)(a.TdU,{})})}),children:S})})]})]})})}},37524:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>f});var s=n(65043),o=n(94141),a=n(89923),i=n(33097),l=n.n(i),r=n(93445),c=n(56483),d=n(56629),u=n(72809),h=n(66730),x=n(10934),m=n(70579);u.A.GlobalWorkerOptions.workerSrc="./scripts/pdf.worker.min.js";const p=e=>{let{path:t,loading:n,onLoad:o,downloadFile:i}=e;const[l,r]=(0,s.useState)(!1),[c,d]=(0,s.useState)(0);if(!t)return null;const u=c>5?5:c,p=Array.from(Array(u).keys());return(0,m.jsxs)(s.Fragment,{children:[l&&0===c&&(0,m.jsx)(a.Wei,{variant:"error",title:"Error",message:(0,m.jsxs)(s.Fragment,{children:["File preview couldn't be displayed, Please try Download instead.",(0,m.jsx)(a.azJ,{sx:{display:"flex",justifyContent:"center",marginTop:12},children:(0,m.jsx)(a.$nd,{id:"download-preview",onClick:i,variant:"callAction",children:"Download File"})})]}),sx:{marginBottom:10}}),!n&&!l&&(0,m.jsx)(a.Wei,{variant:"warning",title:"File Preview",message:(0,m.jsxs)(s.Fragment,{children:["This is a File Preview for the first ",p.length," pages of the document, if you wish to work with the full document please download instead.",(0,m.jsx)(a.azJ,{sx:{display:"flex",justifyContent:"center",marginTop:12},children:(0,m.jsx)(a.$nd,{id:"download-preview",onClick:i,variant:"callAction",children:"Download File"})})]}),sx:{marginBottom:10}}),!l&&(0,m.jsx)(a.azJ,{sx:{overflowY:"auto","& .react-pdf__Page__canvas":{margin:"0 auto",backgroundColor:"transparent"}},children:(0,m.jsx)(h.A,{file:t,onLoadSuccess:e=>{let{_pdfInfo:t}=e;d(t.numPages||0),r(!1),o()},onLoadError:e=>{r(!0),o(),console.error(e)},children:p.map((e=>(0,m.jsx)(x.A,{pageNumber:e+1,renderAnnotationLayer:!1,renderTextLayer:!1,renderForms:!1},"render-page-".concat(e))))})})]})};var j=n(48245),b=n(20554);const g=e=>{let{bucketName:t,actualInfo:n,isFullscreen:o=!1}=e;const i=(0,b.jL)(),[u,h]=(0,s.useState)(!0),[x,g]=(0,s.useState)(null),[f,v]=(0,s.useState)(!1),_=(null===n||void 0===n?void 0:n.name)||"",S=(0,s.useCallback)((()=>{if(!f){const e=(0,c.nf)(_);d.F.buckets.getObjectMetadata(t,{prefix:e}).then((e=>{let t=l()(e.data,"objectMetadata",{});v(!0),g(t)})).catch((e=>{console.error("Error Getting Metadata Status: ",e,null===e||void 0===e?void 0:e.detailedError),v(!0)}))}}),[t,_,f]);(0,s.useEffect)((()=>{t&&_&&S()}),[t,_,S]);let O="";if(n){const e=(0,c.nf)(n.name||"");let s=document.baseURI.replace(window.location.origin,"");O="".concat(window.location.origin).concat(s,"api/v1/buckets/").concat(t,"/objects/download?preview=true&prefix=").concat(e),n.version_id&&(O=O.concat("&version_id=".concat(n.version_id)))}let w=(0,r.IZ)(x,_);const T=()=>{h(!1)};return(0,m.jsxs)(s.Fragment,{children:["none"!==w&&u&&(0,m.jsx)(a.xA9,{item:!0,xs:12,children:(0,m.jsx)(a.z21,{})}),f?(0,m.jsxs)(a.azJ,{sx:{textAlign:"center","& .iframeContainer":{border:"0px",flex:"1 1 auto",width:"100%",height:250,backgroundColor:"transparent",borderRadius:5,"&.image":{height:500},"&.audio":{height:150},"&.video":{height:350},"&.fullHeight":{height:"calc(100vh - 185px)"}},"& .iframeBase":{backgroundColor:"#fff"},"& .iframeHidden":{display:"none"}},children:["video"===w&&(0,m.jsx)("video",{style:{width:"auto",height:"auto",maxWidth:"calc(100vw - 100px)",maxHeight:"calc(100vh - 200px)"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:T,children:(0,m.jsx)("source",{src:O,type:"video/mp4"})}),"audio"===w&&(0,m.jsx)("audio",{style:{width:"100%",height:"auto"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:T,children:(0,m.jsx)("source",{src:O,type:"audio/mpeg"})}),"image"===w&&(0,m.jsx)("img",{style:{width:"auto",height:"auto",maxWidth:"100vw",maxHeight:"100vh"},src:O,alt:"preview",onLoad:T}),"pdf"===w&&(0,m.jsx)(s.Fragment,{children:(0,m.jsx)(p,{path:O,onLoad:T,loading:u,downloadFile:()=>(0,j._)(i,t,O,n)})}),"none"===w&&(0,m.jsx)("div",{children:(0,m.jsx)(a.Wei,{message:" File couldn't be previewed using file extension or mime type. Please try Download instead",title:"Preview unavailable",sx:{margin:"15px 0"}})}),"none"!==w&&"video"!==w&&"audio"!==w&&"image"!==w&&"pdf"!==w&&(0,m.jsx)("div",{className:"iframeBase ".concat(u?"iframeHidden":""),children:(0,m.jsx)("iframe",{src:O,title:"File Preview",allowTransparency:!0,className:"iframeContainer ".concat(o?"fullHeight":w),onLoad:T,children:"File couldn't be loaded. Please try Download instead"})})]}):null]})},f=e=>{let{open:t,bucketName:n,actualInfo:i,onClosePreview:l}=e;return(0,m.jsx)(s.Fragment,{children:(0,m.jsx)(o.A,{modalOpen:t,title:"Preview - ".concat(null===i||void 0===i?void 0:i.name),onClose:l,wideLimit:!1,titleIcon:(0,m.jsx)(a.jG,{}),children:(0,m.jsx)(g,{bucketName:n,actualInfo:i})})})}},72237:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var s=n(65043),o=n(70579);const a=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return function(n){return(0,o.jsx)(s.Suspense,{fallback:t,children:(0,o.jsx)(e,{...n})})}}},81708:(e,t,n)=>{"use strict";n.d(t,{Ex:()=>p,HS:()=>h,mS:()=>x,op:()=>u,oz:()=>m});var s=n(80907),o=n(56483),a=n(37414),i=n(93445),l=n(6035),r=n(64159),c=n(24241),d=n(56629);const u=(0,s.zD)("objectBrowser/downloadSelected",(async(e,t)=>{let{getState:n,rejectWithValue:s,dispatch:d}=t;const u=n(),h=t=>{const n=(0,o.nf)("".concat(e,"-").concat(t.name,"-").concat((new Date).getTime(),"-").concat(Math.random())),s=(0,a.E0)(8),c=(0,i.RG)(e,(0,o.nf)(t.name),t.version_id,t.size,null,s,(e=>{d((0,l.DW)({instanceID:n,progress:e}))}),(()=>{d((0,l.rx)(n))}),(e=>{d((0,l.iL)({instanceID:n,msg:e}))}),(()=>{d((0,l.Dm)(n))}),(()=>{d((0,r.Hk)("File download will be handled directly by the browser."))}));(0,a.FP)(s,c),d((0,l.cP)({ID:s,bucketName:e,done:!1,instanceID:n,percentage:0,prefix:t.name,type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))};if(0!==u.objectBrowser.selectedObjects.length){let t=[];const n=e=>u.objectBrowser.selectedObjects.includes(e.name);if(t=u.objectBrowser.records.filter(n),1===t.length){if(t[0].name.length>200&&(0,o.oK)().toLowerCase().includes("win"))return void d((0,l.Ew)(t[0]));h(t[0])}else if(1===t.length)h(t[0]);else if(t.length>1){const n="".concat(c.c9.now().toFormat("LL-dd-yyyy-HH-mm-ss"),"_files_list.zip"),s=t.reduce(((e,t)=>{const n=null===t||void 0===t?void 0:t.delete_flag;return t&&!n?e.push(t.name):console.log("Skipping ".concat(null===t||void 0===t?void 0:t.name," from download.")),e}),[]);return void await(0,i.Fj)(e,s,n)}}})),h=(0,s.zD)("objectBrowser/openPreview",(async(e,t)=>{let{getState:n,rejectWithValue:s,dispatch:o}=t;const a=n();if(1===a.objectBrowser.selectedObjects.length){let e;const t=e=>a.objectBrowser.selectedObjects.includes(e.name);e=a.objectBrowser.records.find(t),e&&(o((0,l.go)(e)),o((0,l.xE)(!0)))}})),x=(0,s.zD)("objectBrowser/openShare",(async(e,t)=>{let{getState:n,rejectWithValue:s,dispatch:o}=t;const a=n();if(1===a.objectBrowser.selectedObjects.length){let e;const t=e=>a.objectBrowser.selectedObjects.includes(e.name);e=a.objectBrowser.records.find(t),e&&(o((0,l.go)(e)),o((0,l.Lf)(!0)))}})),m=(0,s.zD)("objectBrowser/openAnonymousAccess",(async(e,t)=>{let{getState:n,dispatch:s}=t;const o=n();1===o.objectBrowser.selectedObjects.length&&o.objectBrowser.selectedObjects[0].endsWith("/")&&s((0,l.I8)(!0))})),p=(0,s.zD)("objectBrowser/maxShareLinkExpTime",(async(e,t)=>{let{rejectWithValue:n,dispatch:s}=t;return d.F.buckets.getMaxShareLinkExp().then((e=>{s((0,l.QV)(e.data.exp))})).catch((async e=>n(e.error)))}))},48245:(e,t,n)=>{"use strict";n.d(t,{_:()=>r});var s=n(56483),o=n(37414),a=n(93445),i=n(6035),l=n(64159);const r=(e,t,n,r)=>{var c;const d=(0,s.nf)("".concat(t,"-").concat(r.name,"-").concat((new Date).getTime(),"-").concat(Math.random())),u=(0,s.oK)().toLowerCase().includes("win");if(((null===(c=r.name)||void 0===c?void 0:c.length)||0)>200&&u)return void e((0,i.Jl)(!0));const h=(0,o.E0)(8),x=(0,a.RG)(t,n,r.version_id,r.size||0,null,h,(t=>{e((0,i.DW)({instanceID:d,progress:t}))}),(()=>{e((0,i.rx)(d))}),(t=>{e((0,i.iL)({instanceID:d,msg:t}))}),(()=>{e((0,i.Dm)(d))}),(()=>{e((0,l.Hk)("File download will be handled directly by the browser."))}));(0,o.FP)(h,x),e((0,i.cP)({ID:h,bucketName:t,done:!1,instanceID:d,percentage:0,prefix:r.name||"",type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))}},49501:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var s=n(65043),o=n(89923),a=n(70579);const i=e=>{let{value:t}=e;const[n,i]=(0,s.useState)(!1);return(0,a.jsxs)(o.azJ,{sx:{display:"flex",alignItems:"center",flexFlow:"row",["@media (max-width: ".concat(o.nmC.sm,"px)")]:{flexFlow:"column"}},children:[(0,a.jsx)(o.cl_,{id:"inspect-dec-key",name:"inspect-dec-key",placeholder:"",label:"",type:n?"text":"password",onChange:()=>{},value:t,overlayIcon:(0,a.jsx)(o.TdU,{}),readOnly:!0,overlayAction:()=>navigator.clipboard.writeText(t)}),(0,a.jsx)(o.$nd,{id:"show-hide-key",style:{marginLeft:"10px"},variant:"callAction",onClick:()=>i(!n),label:"Show/Hide"})]})}},17640:()=>{},23237:()=>{},97492:()=>{},31815:()=>{},66671:()=>{},82787:()=>{}}]);
-//# sourceMappingURL=2959.25a10423.chunk.js.map
\ No newline at end of file
diff --git a/web-app/build/static/js/2959.25a10423.chunk.js.map b/web-app/build/static/js/2959.25a10423.chunk.js.map
deleted file mode 100644
index d03526dec8..0000000000
--- a/web-app/build/static/js/2959.25a10423.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/2959.25a10423.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/AddAccessRule.tsx","screens/Console/Buckets/ListBuckets/UploadPermissionUtils.ts","screens/Console/ObjectBrowser/BrowserBreadcrumbs.tsx","utils/validationFunctions.ts","screens/Console/Buckets/ListBuckets/UploadFilesButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DetailsListPanel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/IconWithLabel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/utils.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ObjectMetaData.tsx","screens/Console/Common/FormComponents/DateSelector/utils.ts","screens/Console/Common/FormComponents/DateSelector/DateSelector.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetRetention.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteObject.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetLegalHoldModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/TagsModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/InspectObject.tsx","screens/Console/ObjectBrowser/RenameLongFilename.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/RestoreFileVersion.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SpecificVersionPill.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/FileVersionItem.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteNonCurrent.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/DeleteSelectedVersions.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjectsHelpers.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjectsTable.tsx","screens/Console/ObjectBrowser/FilterObjectsSB.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx","screens/Console/ObjectBrowser/OBHeader.tsx","screens/Console/Buckets/BucketDetails/BrowserHandler.tsx","screens/Console/Common/FormComponents/DaysSelector/DaysSelector.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ShareFile.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewPDF.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileContent.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileModal.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/ObjectBrowser/objectBrowserThunks.ts","screens/Console/ObjectBrowser/utils.ts","screens/Console/Tools/KeyRevealer.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState, Fragment } from \"react\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport {\n AddAccessRuleIcon,\n Button,\n FormLayout,\n Grid,\n InputBox,\n Select,\n} from \"mds\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { modalStyleUtils } from \"../../Common/FormComponents/common/styleLibrary\";\nimport {\n setErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IAddAccessRule {\n modalOpen: boolean;\n onClose: () => any;\n bucket: string;\n prefilledRoute?: string;\n}\n\nconst AddAccessRule = ({\n modalOpen,\n onClose,\n bucket,\n prefilledRoute,\n}: IAddAccessRule) => {\n const dispatch = useAppDispatch();\n\n const [prefix, setPrefix] = useState(\"\");\n const [selectedAccess, setSelectedAccess] = useState(\"readonly\");\n\n useEffect(() => {\n if (prefilledRoute) {\n setPrefix(prefilledRoute);\n }\n }, [prefilledRoute]);\n\n const accessOptions = [\n { label: \"readonly\", value: \"readonly\" },\n { label: \"writeonly\", value: \"writeonly\" },\n { label: \"readwrite\", value: \"readwrite\" },\n ];\n\n const resetForm = () => {\n setPrefix(\"\");\n setSelectedAccess(\"readonly\");\n };\n\n const createProcess = () => {\n api.bucket\n .setAccessRuleWithBucket(bucket, {\n prefix: prefix,\n access: selectedAccess,\n })\n .then((res: any) => {\n dispatch(setSnackBarMessage(\"Access Rule added successfully\"));\n onClose();\n })\n .catch((res) => {\n dispatch(setErrorSnackMessage(errorToHandler(res.error)));\n onClose();\n });\n };\n\n return (\n }\n >\n \n {\n setPrefix(e.target.value);\n }}\n tooltip={\n \"Enter '/' to apply the rule to all prefixes and objects at the bucket root. Do not include the wildcard asterisk '*' as part of the prefix *unless* it is an explicit part of the prefix name. The Console automatically appends an asterisk to the appropriate sections of the resulting IAM policy.\"\n }\n />\n \n \n );\n};\n\nexport default AddAccessRule;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const extractFileExtn = (resourceStr: string) => {\n //file extensions may contain query string. so exclude query strings !\n return (resourceStr.match(/\\.([^.]*?)(?=\\?|#|$)/) || [])[1];\n};\nexport const getPolicyAllowedFileExtensions = (\n sessionGrants: Record,\n uploadPath: string,\n scopes: string[] = [],\n) => {\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n uploadPath,\n scopes,\n );\n\n //get acceptable files if any in the policy.\n const allowedFileExtensions = sessionGrantWildCards.reduce(\n (acc: string[], cv: string) => {\n const extension: string = extractFileExtn(cv);\n if (extension) {\n acc.push(`.${extension}`); //strict extension matching.\n }\n return acc;\n },\n [],\n );\n\n const uniqueExtensions = [...new Set(allowedFileExtensions)];\n return uniqueExtensions.join(\",\");\n};\n\n// The resource should not have the extensions (*.ext) for the hasPermission to work.\n// so sanitize this and also use to extract the allowed extensions outside of permission check.\nexport const getSessionGrantsWildCard = (\n sessionGrants: Record,\n uploadPath: string,\n scopes: string[] = [],\n) => {\n //get only the path matching grants to reduce processing.\n const grantsWithExtension = Object.keys(sessionGrants).reduce(\n (acc: Record, grantKey: string) => {\n if (extractFileExtn(grantKey) && grantKey.includes(uploadPath)) {\n acc[grantKey] = sessionGrants[grantKey];\n }\n return acc;\n },\n {},\n );\n\n const checkPathsForPermission = (sessionGrantKey: string) => {\n const grantActions = grantsWithExtension[sessionGrantKey];\n const hasScope = grantActions.some((actionKey) =>\n scopes.find((scopeKey) => {\n let wildCardMatch = false;\n const hasWildCard = scopeKey.indexOf(\"*\") !== -1;\n if (hasWildCard) {\n const scopeActionKey = scopeKey.substring(0, scopeKey.length - 1);\n\n wildCardMatch = actionKey.includes(scopeActionKey);\n }\n\n return wildCardMatch || actionKey === scopeKey;\n }),\n );\n\n const sessionGrantKeyPath = sessionGrantKey.substring(\n 0,\n sessionGrantKey.indexOf(\"/*.\"), //start of extension part.\n );\n const isUploadPathMatching =\n sessionGrantKeyPath === `arn:aws:s3:::${uploadPath}`;\n\n const hasGrant =\n isUploadPathMatching && sessionGrantKey !== \"arn:aws:s3:::*\";\n\n return hasScope && hasGrant;\n };\n\n return Object.keys(grantsWithExtension).filter(checkPathsForPermission);\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport styled from \"styled-components\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport { encodeURLString, safeDecodeURIComponent } from \"../../../common/utils\";\nimport {\n Button,\n CopyIcon,\n NewPathIcon,\n Tooltip,\n Breadcrumbs,\n breakPoints,\n Box,\n} from \"mds\";\nimport { hasPermission } from \"../../../common/SecureComponent\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../common/SecureComponent/permissions\";\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { setVersionsModeEnabled } from \"./objectBrowserSlice\";\nimport { getSessionGrantsWildCard } from \"../Buckets/ListBuckets/UploadPermissionUtils\";\n\nconst CreatePathModal = withSuspense(\n React.lazy(\n () => import(\"../Buckets/ListBuckets/Objects/ListObjects/CreatePathModal\"),\n ),\n);\n\nconst BreadcrumbsMain = styled.div(() => ({\n display: \"flex\",\n \"& .additionalOptions\": {\n paddingRight: \"10px\",\n display: \"flex\",\n alignItems: \"center\",\n [`@media (max-width: ${breakPoints.lg}px)`]: {\n display: \"none\",\n },\n },\n \"& .slashSpacingStyle\": {\n margin: \"0 5px\",\n },\n}));\n\ninterface IObjectBrowser {\n bucketName: string;\n internalPaths: string;\n hidePathButton?: boolean;\n additionalOptions?: React.ReactNode;\n}\n\nconst BrowserBreadcrumbs = ({\n bucketName,\n internalPaths,\n hidePathButton,\n additionalOptions,\n}: IObjectBrowser) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const rewindEnabled = useSelector(\n (state: AppState) => state.objectBrowser.rewind.rewindEnabled,\n );\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode,\n );\n const versionedFile = useSelector(\n (state: AppState) => state.objectBrowser.versionedFile,\n );\n const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n\n const [createFolderOpen, setCreateFolderOpen] = useState(false);\n const [canCreateSubpath, setCanCreateSubpath] = useState(false);\n\n const putObjectPermScopes = [\n IAM_SCOPES.S3_PUT_OBJECT,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ];\n\n const sessionGrants = useSelector((state: AppState) =>\n state.console.session ? state.console.session.permissions || {} : {},\n );\n\n let paths = internalPaths;\n\n if (internalPaths !== \"\") {\n paths = `/${internalPaths}`;\n }\n\n const splitPaths = paths.split(\"/\").filter((path) => path !== \"\");\n const lastBreadcrumbsIndex = splitPaths.length - 1;\n\n const pathToCheckPerms = bucketName + paths || bucketName;\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n pathToCheckPerms,\n putObjectPermScopes,\n );\n\n useEffect(() => {\n setCanCreateSubpath(false);\n Object.keys(sessionGrants).forEach((grant) => {\n grant.includes(pathToCheckPerms) &&\n grant.includes(\"/*\") &&\n setCanCreateSubpath(true);\n });\n }, [pathToCheckPerms, internalPaths, sessionGrants]);\n\n const canCreatePath =\n hasPermission(\n [pathToCheckPerms, ...sessionGrantWildCards],\n putObjectPermScopes,\n ) ||\n anonymousMode ||\n canCreateSubpath;\n\n let breadcrumbsMap = splitPaths.map((objectItem: string, index: number) => {\n const subSplit = `${splitPaths.slice(0, index + 1).join(\"/\")}/`;\n const route = `/browser/${bucketName}/${\n subSplit ? `${encodeURLString(subSplit)}` : ``\n }`;\n\n if (index === lastBreadcrumbsIndex && objectItem === versionedFile) {\n return null;\n }\n\n return (\n \n /\n {index === lastBreadcrumbsIndex ? (\n \n {safeDecodeURIComponent(objectItem) /*Only for display*/}\n \n ) : (\n {\n dispatch(\n setVersionsModeEnabled({ status: false, objectName: \"\" }),\n );\n }}\n >\n {\n safeDecodeURIComponent(\n objectItem,\n ) /*Only for display to preserve */\n }\n \n )}\n \n );\n });\n\n let versionsItem: any[] = [];\n\n if (versionsMode) {\n versionsItem = [\n \n \n /\n {versionedFile} - Versions\n \n ,\n ];\n }\n\n const listBreadcrumbs: any[] = [\n \n {\n dispatch(setVersionsModeEnabled({ status: false, objectName: \"\" }));\n }}\n >\n {bucketName}\n \n ,\n ...breadcrumbsMap,\n ...versionsItem,\n ];\n\n const closeAddFolderModal = () => {\n setCreateFolderOpen(false);\n };\n\n const goBackFunction = () => {\n if (versionsMode) {\n dispatch(setVersionsModeEnabled({ status: false, objectName: \"\" }));\n } else {\n if (splitPaths.length === 0) {\n navigate(\"/browser\");\n\n return;\n }\n\n const prevPath = splitPaths.slice(0, -1);\n\n navigate(\n `/browser/${bucketName}${\n prevPath.length > 0\n ? `/${encodeURLString(`${prevPath.join(\"/\")}/`)}`\n : \"\"\n }`,\n );\n }\n };\n\n return (\n \n \n {createFolderOpen && (\n \n )}\n \n \n \n }\n variant={\"regular\"}\n onClick={() => {\n dispatch(setSnackBarMessage(\"Path copied to clipboard\"));\n }}\n style={{\n width: \"28px\",\n height: \"28px\",\n color: \"#969FA8\",\n border: \"#969FA8 1px solid\",\n marginRight: 5,\n }}\n />\n \n {additionalOptions}\n \n }\n >\n {listBreadcrumbs}\n \n {!hidePathButton && (\n \n \n )}\n \n div\": {\n fontSize: 12,\n fontWeight: \"normal\",\n flexDirection: \"row\",\n flexWrap: \"nowrap\",\n },\n [`@media (max-width: ${breakPoints.lg}px)`]: {\n display: \"flex\",\n },\n }}\n >\n {additionalOptions}\n \n \n );\n};\n\nexport default BrowserBreadcrumbs;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const isVersionedMode = (status: string | undefined) => {\n return status === \"Enabled\" || status === \"Suspended\";\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { CSSObject } from \"styled-components\";\nimport { Button, DropdownSelector, UploadFolderIcon, UploadIcon } from \"mds\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../../common/SecureComponent\";\nimport TooltipWrapper from \"../../Common/TooltipWrapper/TooltipWrapper\";\nimport { useSelector } from \"react-redux\";\nimport { AppState } from \"../../../../store\";\nimport { getSessionGrantsWildCard } from \"./UploadPermissionUtils\";\n\ninterface IUploadFilesButton {\n uploadPath: string;\n bucketName: string;\n forceDisable?: boolean;\n uploadFileFunction: (closeFunction: () => void) => void;\n uploadFolderFunction: (closeFunction: () => void) => void;\n overrideStyles?: CSSObject;\n}\n\nconst UploadFilesButton = ({\n uploadPath,\n bucketName,\n forceDisable = false,\n uploadFileFunction,\n uploadFolderFunction,\n overrideStyles = {},\n}: IUploadFilesButton) => {\n const [anchorEl, setAnchorEl] = useState(null);\n const [uploadOptionsOpen, uploadOptionsSetOpen] = useState(false);\n\n const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n\n const sessionGrants = useSelector((state: AppState) =>\n state.console.session ? state.console.session.permissions || {} : {},\n );\n\n const putObjectPermScopes = [\n IAM_SCOPES.S3_PUT_OBJECT,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ];\n\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n uploadPath,\n putObjectPermScopes,\n );\n\n const openUploadMenu = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n uploadOptionsSetOpen(!uploadOptionsOpen);\n setAnchorEl(event.currentTarget);\n };\n const handleCloseUpload = () => {\n setAnchorEl(null);\n };\n\n const uploadObjectAllowed =\n hasPermission(\n [uploadPath, ...sessionGrantWildCards],\n putObjectPermScopes,\n ) || anonymousMode;\n\n const uploadFolderAllowed = hasPermission(\n [bucketName, ...sessionGrantWildCards],\n putObjectPermScopes,\n false,\n true,\n );\n\n const uploadFolderAction = (action: string) => {\n if (action === \"folder\") {\n uploadFolderFunction(handleCloseUpload);\n return;\n }\n\n uploadFileFunction(handleCloseUpload);\n };\n\n const uploadEnabled: boolean = uploadObjectAllowed || uploadFolderAllowed;\n\n return (\n \n \n }\n variant={\"callAction\"}\n disabled={forceDisable || !uploadEnabled}\n sx={overrideStyles}\n />\n \n ,\n value: \"file\",\n disabled: !uploadObjectAllowed || forceDisable,\n },\n {\n label: \"Upload Folder\",\n icon: ,\n value: \"folder\",\n disabled: !uploadFolderAllowed || forceDisable,\n },\n ]}\n selectedOption={\"\"}\n onSelect={(nValue) => uploadFolderAction(nValue)}\n hideTriggerAction={() => {\n uploadOptionsSetOpen(false);\n }}\n open={uploadOptionsOpen}\n anchorEl={anchorEl}\n anchorOrigin={\"end\"}\n useAnchorWidth\n />\n \n );\n};\n\nexport default UploadFilesButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box, Button, ClosePanelIcon } from \"mds\";\n\ninterface IDetailsListPanel {\n open: boolean;\n className?: string;\n closePanel: () => void;\n children: React.ReactNode;\n}\n\nconst DetailsListPanel = ({\n open,\n closePanel,\n className = \"\",\n children,\n}: IDetailsListPanel) => {\n return (\n \n }\n sx={{\n position: \"absolute\",\n right: 5,\n top: 18,\n padding: 0,\n height: 14,\n \"&:hover:not(:disabled)\": {\n backgroundColor: \"transparent\",\n },\n }}\n />\n {children}\n \n );\n};\n\nexport default DetailsListPanel;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// This object contains variables that will be used across form components.\n\nimport React from \"react\";\nimport { Box } from \"mds\";\nimport { replaceUnicodeChar } from \"../../../../../../common/utils\";\n\ninterface IIconWithLabel {\n icon: React.ReactNode;\n strings: string[];\n}\n\nconst IconWithLabel = ({ icon, strings }: IIconWithLabel) => {\n return (\n \n {icon}\n \n {replaceUnicodeChar(strings[strings.length - 1])}\n \n \n );\n};\n\nexport default IconWithLabel;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\n\nimport {\n FileBookIcon,\n FileCodeIcon,\n FileConfigIcon,\n FileDbIcon,\n FileFontIcon,\n FileImageIcon,\n FileLockIcon,\n FileMissingIcon,\n FileMusicIcon,\n FileNonType,\n FilePdfIcon,\n FilePptIcon,\n FileTxtIcon,\n FileVideoIcon,\n FileXlsIcon,\n FileZipIcon,\n FolderBrowserIcon,\n} from \"mds\";\nimport IconWithLabel from \"./IconWithLabel\";\n\ninterface IExtToIcon {\n icon: any;\n extensions: string[];\n}\n\nexport const extensionToIcon: IExtToIcon[] = [\n {\n icon: ,\n extensions: [\"mp4\", \"mov\", \"avi\", \"mpeg\", \"mpg\"],\n },\n {\n icon: ,\n extensions: [\"mp3\", \"m4a\", \"aac\"],\n },\n {\n icon: ,\n extensions: [\"pdf\"],\n },\n {\n icon: ,\n extensions: [\"ppt\", \"pptx\"],\n },\n {\n icon: ,\n extensions: [\"xls\", \"xlsx\"],\n },\n {\n icon: ,\n extensions: [\"cer\", \"crt\", \"pem\"],\n },\n {\n icon: ,\n extensions: [\"html\", \"xml\", \"css\", \"py\", \"go\", \"php\", \"cpp\", \"h\", \"java\"],\n },\n {\n icon: ,\n extensions: [\"cfg\", \"yaml\"],\n },\n {\n icon: ,\n extensions: [\"sql\"],\n },\n {\n icon: ,\n extensions: [\"ttf\", \"otf\"],\n },\n {\n icon: ,\n extensions: [\"doc\", \"docx\", \"txt\", \"rtf\"],\n },\n {\n icon: ,\n extensions: [\"zip\", \"rar\", \"tar\", \"gz\"],\n },\n {\n icon: ,\n extensions: [\"epub\", \"mobi\", \"azw\", \"azw3\"],\n },\n {\n icon: ,\n extensions: [\"jpeg\", \"jpg\", \"gif\", \"tiff\", \"png\", \"heic\", \"dng\"],\n },\n];\n\nexport const displayFileIconName = (\n element: string,\n returnOnlyIcon: boolean = false,\n) => {\n let elementString = element;\n let icon = ;\n // Element is a folder\n if (element.endsWith(\"/\")) {\n icon = ;\n elementString = element.slice(0, -1);\n }\n\n const lowercaseElement = element.toLowerCase();\n for (const etc of extensionToIcon) {\n for (const ext of etc.extensions) {\n if (lowercaseElement.endsWith(`.${ext}`)) {\n icon = etc.icon;\n }\n }\n }\n\n if (!element.endsWith(\"/\") && element.indexOf(\".\") < 0) {\n icon = ;\n }\n\n const splitItem = elementString.split(\"/\");\n\n if (returnOnlyIcon) {\n return icon;\n }\n\n return ;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Box } from \"mds\";\nimport { safeDecodeURIComponent } from \"../../../../../../common/utils\";\n\ninterface IObjectMetadata {\n metaData: any;\n}\n\nconst itemRendererFn = (element: any) => {\n return Array.isArray(element)\n ? element.map(safeDecodeURIComponent).join(\", \")\n : safeDecodeURIComponent(element);\n};\n\nconst ObjectMetaData = ({ metaData }: IObjectMetadata) => {\n const metaKeys = Object.keys(metaData);\n\n return (\n \n {metaKeys.map((element: string, index: number) => {\n const renderItem = itemRendererFn(metaData[element]);\n return (\n \n {element}\n \n {renderItem}\n \n );\n })}\n \n );\n};\n\nexport default ObjectMetaData;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const months = [\n { value: \"01\", label: \"January\" },\n { value: \"02\", label: \"February\" },\n { value: \"03\", label: \"March\" },\n { value: \"04\", label: \"April\" },\n { value: \"05\", label: \"May\" },\n { value: \"06\", label: \"June\" },\n { value: \"07\", label: \"July\" },\n { value: \"08\", label: \"August\" },\n { value: \"09\", label: \"September\" },\n { value: \"10\", label: \"October\" },\n { value: \"11\", label: \"November\" },\n { value: \"12\", label: \"December\" },\n];\n\nexport const days = Array.from(Array(31), (_, num) => ({\n value: (num + 1).toString(),\n label: (num + 1).toString(),\n}));\n\nconst currentYear = new Date().getFullYear();\n\nexport const years = Array.from(Array(50), (_, numYear) => ({\n value: (numYear + currentYear).toString(),\n label: (numYear + currentYear).toString(),\n}));\n\nexport const validDate = (year: string, month: string, day: string): any[] => {\n const currentDate = Date.parse(`${year}-${month}-${day}`);\n\n if (isNaN(currentDate)) {\n return [false, \"\"];\n }\n\n const parsedMonth = parseInt(month);\n const parsedDay = parseInt(day);\n\n const monthForString = parsedMonth < 10 ? `0${parsedMonth}` : parsedMonth;\n const dayForString = parsedDay < 10 ? `0${parsedDay}` : parsedDay;\n\n const parsedDate = new Date(currentDate).toISOString().split(\"T\")[0];\n const dateString = `${year}-${monthForString}-${dayForString}`;\n\n return [parsedDate === dateString, dateString];\n};\n\n// twoDigitDate gets a two digit string number used for months or days\n// returns \"NaN\" if number is NaN\nexport const twoDigitDate = (num: number): string => {\n return num < 10 ? `0${num}` : `${num}`;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useState,\n} from \"react\";\nimport { Box, HelpIcon, InputLabel, Select, Tooltip } from \"mds\";\nimport { days, months, validDate, years } from \"./utils\";\n\ninterface IDateSelectorProps {\n id: string;\n label: string;\n disableOptions?: boolean;\n tooltip?: string;\n borderBottom?: boolean;\n value?: string;\n onDateChange: (date: string, isValid: boolean) => any;\n}\n\nconst DateSelector = forwardRef(\n (\n {\n id,\n label,\n disableOptions = false,\n tooltip = \"\",\n borderBottom = false,\n onDateChange,\n value = \"\",\n }: IDateSelectorProps,\n ref: any,\n ) => {\n useImperativeHandle(ref, () => ({ resetDate }));\n\n const [month, setMonth] = useState(\"\");\n const [day, setDay] = useState(\"\");\n const [year, setYear] = useState(\"\");\n\n useEffect(() => {\n // verify if there is a current value\n // assume is in the format \"2021-12-30\"\n if (value !== \"\") {\n const valueSplit = value.split(\"-\");\n\n setYear(valueSplit[0]);\n setMonth(valueSplit[1]);\n // Turn to single digit to be displayed on dropdown buttons\n setDay(`${parseInt(valueSplit[2])}`);\n }\n }, [value]);\n\n useEffect(() => {\n const [isValid, dateString] = validDate(year, month, day);\n onDateChange(dateString, isValid);\n }, [month, day, year, onDateChange]);\n\n const resetDate = () => {\n setMonth(\"\");\n setDay(\"\");\n setYear(\"\");\n };\n\n const isDateDisabled = () => {\n if (disableOptions) {\n return disableOptions;\n } else {\n return false;\n }\n };\n\n const monthForDropDown = [{ value: \"\", label: \"\" }, ...months];\n const daysForDrop = [{ value: \"\", label: \"\" }, ...days];\n const yearsForDrop = [{ value: \"\", label: \"\" }, ...years];\n\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n \n \n \n \n \n \n \n )}\n \n \n \n \n \n );\n },\n);\n\nexport default DateSelector;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { Box, Button, FormLayout, Grid, RadioGroup, Switch } from \"mds\";\nimport { useSelector } from \"react-redux\";\nimport { BucketObject, ObjectRetentionMode } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { encodeURLString } from \"common/utils\";\nimport { modalStyleUtils } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { twoDigitDate } from \"../../../../Common/FormComponents/DateSelector/utils\";\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport DateSelector from \"../../../../Common/FormComponents/DateSelector/DateSelector\";\n\ninterface ISetRetentionProps {\n open: boolean;\n closeModalAndRefresh: (updateInfo: boolean) => void;\n objectName: string;\n bucketName: string;\n objectInfo: BucketObject;\n}\n\ninterface IRefObject {\n resetDate: () => void;\n}\n\nconst SetRetention = ({\n open,\n closeModalAndRefresh,\n objectName,\n objectInfo,\n bucketName,\n}: ISetRetentionProps) => {\n const dispatch = useAppDispatch();\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const [statusEnabled, setStatusEnabled] = useState(true);\n const [type, setType] = useState(\"\");\n const [date, setDate] = useState(\"\");\n const [isDateValid, setIsDateValid] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const [alreadyConfigured, setAlreadyConfigured] = useState(false);\n\n useEffect(() => {\n if (objectInfo.retention_mode) {\n setType(retentionConfig?.mode || ObjectRetentionMode.Governance);\n setAlreadyConfigured(true);\n }\n // get retention_until_date if defined\n if (objectInfo.retention_until_date) {\n const valueDate = new Date(objectInfo.retention_until_date);\n if (valueDate.toString() !== \"Invalid Date\") {\n const year = valueDate.getFullYear();\n const month = twoDigitDate(valueDate.getMonth() + 1);\n const day = valueDate.getDate();\n if (!isNaN(day) && month !== \"NaN\" && !isNaN(year)) {\n setDate(`${year}-${month}-${day}`);\n }\n }\n setAlreadyConfigured(true);\n }\n }, [objectInfo, retentionConfig?.mode]);\n\n const dateElement = useRef(null);\n\n const dateFieldDisabled = () => {\n return !(statusEnabled && (type === \"governance\" || type === \"compliance\"));\n };\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n };\n\n const resetForm = () => {\n setStatusEnabled(false);\n setType(ObjectRetentionMode.Governance);\n if (dateElement.current) {\n dateElement.current.resetDate();\n }\n };\n\n const addRetention = (\n selectedObject: string,\n versionId: string | null,\n expireDate: string,\n ) => {\n api.buckets\n .putObjectRetention(\n bucketName,\n {\n prefix: encodeURLString(selectedObject),\n version_id: versionId || \"\",\n },\n {\n expires: expireDate,\n mode: type as ObjectRetentionMode,\n },\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSaving(false);\n });\n };\n\n const disableRetention = (\n selectedObject: string,\n versionId: string | null,\n ) => {\n api.buckets\n .deleteObjectRetention(bucketName, {\n prefix: encodeURLString(selectedObject),\n version_id: versionId || \"\",\n })\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSaving(false);\n });\n };\n\n const saveNewRetentionPolicy = () => {\n setIsSaving(true);\n const selectedObject = objectInfo.name || \"\";\n const versionId = objectInfo.version_id || null;\n\n const expireDate =\n !statusEnabled && type === \"governance\" ? \"\" : `${date}T23:59:59Z`;\n\n if (!statusEnabled && type === \"governance\") {\n disableRetention(selectedObject, versionId);\n\n return;\n }\n\n addRetention(selectedObject, versionId, expireDate);\n };\n\n const showSwitcher =\n alreadyConfigured && (type === \"governance\" || type === \"\");\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n \n \n );\n};\n\nexport default SetRetention;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { decodeURLString } from \"../../../../../../common/utils\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport { ConfirmDeleteIcon, Switch } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { useSelector } from \"react-redux\";\nimport { isVersionedMode } from \"../../../../../../utils/validationFunctions\";\nimport { BucketVersioningResponse } from \"api/consoleApi\";\n\ninterface IDeleteObjectProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObject: string;\n selectedBucket: string;\n\n versioningInfo: BucketVersioningResponse | undefined;\n selectedVersion?: string;\n}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n versioningInfo,\n selectedVersion = \"\",\n}: IDeleteObjectProps) => {\n const dispatch = useAppDispatch();\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n\n // We close the modal box on access denied.\n if (err.detailedError === \"Access Denied.\") {\n closeDeleteModalAndRefresh(true);\n }\n };\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n const [deleteVersions, setDeleteVersions] = useState(false);\n const [bypassGovernance, setBypassGovernance] = useState(false);\n\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const canBypass =\n hasPermission(\n [selectedBucket],\n [IAM_SCOPES.S3_BYPASS_GOVERNANCE_RETENTION],\n ) && retentionConfig?.mode === \"governance\";\n\n if (!selectedObject) {\n return null;\n }\n const onConfirmDelete = () => {\n const decodedSelectedObject = decodeURLString(selectedObject);\n const recursive = decodedSelectedObject.endsWith(\"/\");\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/buckets/${selectedBucket}/objects?prefix=${selectedObject}${\n selectedVersion !== \"\"\n ? `&version_id=${selectedVersion}`\n : `&recursive=${recursive}&all_versions=${deleteVersions}`\n }${bypassGovernance ? \"&bypass=true\" : \"\"}`,\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete: \n {decodeURLString(selectedObject)}{\" \"}\n {selectedVersion !== \"\" ? (\n \n \n \n Version ID:\n \n {selectedVersion}\n \n ) : (\n \"\"\n )}\n ? \n \n {isVersionedMode(versioningInfo?.status) &&\n selectedVersion === \"\" && (\n \n {\n setDeleteVersions(!deleteVersions);\n }}\n description=\"\"\n />\n \n )}\n {canBypass && (deleteVersions || selectedVersion !== \"\") && (\n \n
\n This will remove the object as well as all of its versions,{\" \"}\n \n This action is irreversible.\n
\n \n Are you sure you want to continue?\n \n )}\n \n }\n />\n );\n};\n\nexport default DeleteObject;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { Box, Button, FormLayout, Grid, Switch } from \"mds\";\nimport { BucketObject, ObjectLegalHoldStatus } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { modalStyleUtils } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\n\ninterface ISetRetentionProps {\n open: boolean;\n closeModalAndRefresh: (reload: boolean) => void;\n objectName: string;\n bucketName: string;\n actualInfo: BucketObject;\n}\n\nconst SetLegalHoldModal = ({\n open,\n closeModalAndRefresh,\n objectName,\n bucketName,\n actualInfo,\n}: ISetRetentionProps) => {\n const dispatch = useAppDispatch();\n const [legalHoldEnabled, setLegalHoldEnabled] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const versionId = actualInfo.version_id;\n\n useEffect(() => {\n const status = get(actualInfo, \"legal_hold_status\", \"OFF\");\n setLegalHoldEnabled(status === \"ON\");\n }, [actualInfo]);\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n setIsSaving(true);\n\n api.buckets\n .putObjectLegalHold(\n bucketName,\n {\n prefix: encodeURLString(objectName),\n version_id: versionId || \"\",\n },\n {\n status: legalHoldEnabled\n ? ObjectLegalHoldStatus.Enabled\n : ObjectLegalHoldStatus.Disabled,\n },\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSaving(false);\n });\n };\n\n const resetForm = () => {\n setLegalHoldEnabled(false);\n };\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n \n \n );\n};\n\nexport default SetLegalHoldModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport get from \"lodash/get\";\nimport styled from \"styled-components\";\nimport {\n AddNewTagIcon,\n Button,\n DisabledIcon,\n EditTagIcon,\n InputBox,\n SectionTitle,\n Box,\n Grid,\n Tag,\n FormLayout,\n} from \"mds\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { encodeURLString } from \"common/utils\";\nimport { useSelector } from \"react-redux\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport { modalStyleUtils } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { SecureComponent } from \"../../../../../../common/SecureComponent\";\nimport {\n selDistSet,\n setModalErrorSnackMessage,\n} from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\ninterface ITagModal {\n modalOpen: boolean;\n bucketName: string;\n actualInfo: BucketObject;\n onCloseAndUpdate: (refresh: boolean) => void;\n}\n\nconst DeleteTag = styled.b(({ theme }) => ({\n color: get(theme, \"signalColors.danger\", \"#C83B51\"),\n marginLeft: 5,\n}));\n\nconst AddTagModal = ({\n modalOpen,\n onCloseAndUpdate,\n bucketName,\n actualInfo,\n}: ITagModal) => {\n const dispatch = useAppDispatch();\n const distributedSetup = useSelector(selDistSet);\n const [newKey, setNewKey] = useState(\"\");\n const [newLabel, setNewLabel] = useState(\"\");\n const [isSending, setIsSending] = useState(false);\n const [deleteEnabled, setDeleteEnabled] = useState(false);\n const [deleteKey, setDeleteKey] = useState(\"\");\n const [deleteLabel, setDeleteLabel] = useState(\"\");\n\n const selectedObject = encodeURLString(actualInfo.name || \"\");\n\n const currentTags = actualInfo.tags;\n const currTagKeys = Object.keys(currentTags || {});\n\n const allPathData = actualInfo.name?.split(\"/\");\n const currentItem = allPathData?.pop() || \"\";\n\n const resetForm = () => {\n setNewLabel(\"\");\n setNewKey(\"\");\n };\n\n const addTagProcess = () => {\n setIsSending(true);\n const newTag: any = {};\n\n newTag[newKey] = newLabel;\n const newTagList = { ...currentTags, ...newTag };\n\n const verID = distributedSetup ? actualInfo.version_id || \"\" : \"null\";\n\n api.buckets\n .putObjectTags(\n bucketName,\n { prefix: selectedObject, version_id: verID },\n { tags: newTagList },\n )\n .then(() => {\n onCloseAndUpdate(true);\n setIsSending(false);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSending(false);\n });\n };\n\n const deleteTagProcess = () => {\n const cleanObject: any = { ...currentTags };\n delete cleanObject[deleteKey];\n\n const verID = distributedSetup ? actualInfo.version_id || \"\" : \"null\";\n\n api.buckets\n .putObjectTags(\n bucketName,\n { prefix: selectedObject, version_id: verID },\n { tags: cleanObject },\n )\n .then(() => {\n onCloseAndUpdate(true);\n setIsSending(false);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSending(false);\n });\n };\n\n const onDeleteTag = (tagKey: string, tag: string) => {\n setDeleteKey(tagKey);\n setDeleteLabel(tag);\n setDeleteEnabled(true);\n };\n\n const cancelDelete = () => {\n setDeleteKey(\"\");\n setDeleteLabel(\"\");\n setDeleteEnabled(false);\n };\n\n const tagsFor = (plural: boolean) => (\n \n Tag{plural ? \"s\" : \"\"} for: {currentItem}\n \n );\n\n return (\n \n {\n onCloseAndUpdate(true);\n }}\n iconColor={deleteEnabled ? \"delete\" : \"default\"}\n titleIcon={deleteEnabled ? : }\n >\n {deleteEnabled ? (\n \n \n {tagsFor(false)}\n Are you sure you want to delete the tag{\" \"}\n \n {deleteKey} : {deleteLabel}\n {\" \"}\n ?\n \n \n \n \n \n \n ) : (\n \n \n \n {tagsFor(true)}\n \n Current Tags:\n \n {currTagKeys.length === 0 ? (\n \n There are no tags for this object\n \n ) : (\n \n )}\n \n {currTagKeys.map((tagKey: string, index: number) => {\n const tag = get(currentTags, `${tagKey}`, \"\");\n if (tag !== \"\") {\n return (\n \n {\n onDeleteTag(tagKey, tag);\n }}\n />\n \n );\n }\n return null;\n })}\n \n \n \n \n \n \n } separator={false}>\n Add New Tag\n \n \n {\n setNewKey(e.target.value);\n }}\n />\n {\n setNewLabel(e.target.value);\n }}\n />\n \n \n \n \n \n \n \n \n )}\n \n \n );\n};\n\nexport default AddTagModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport {\n Button,\n InspectMenuIcon,\n PasswordKeyIcon,\n Switch,\n Grid,\n Box,\n} from \"mds\";\nimport {\n decodeURLString,\n deleteCookie,\n encodeURLString,\n getCookieValue,\n performDownload,\n} from \"../../../../../../common/utils\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport { modalStyleUtils } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport KeyRevealer from \"../../../../Tools/KeyRevealer\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\ninterface IInspectObjectProps {\n closeInspectModalAndRefresh: (refresh: boolean) => void;\n inspectOpen: boolean;\n inspectPath: string;\n volumeName: string;\n}\n\nconst InspectObject = ({\n closeInspectModalAndRefresh,\n inspectOpen,\n inspectPath,\n volumeName,\n}: IInspectObjectProps) => {\n const dispatch = useAppDispatch();\n const onClose = () => closeInspectModalAndRefresh(false);\n const [isEncrypt, setIsEncrypt] = useState(true);\n const [decryptionKey, setDecryptionKey] = useState(\"\");\n const [insFileName, setInsFileName] = useState(\"\");\n\n if (!inspectPath) {\n return null;\n }\n const makeRequest = async (url: string) => {\n return await fetch(url, { method: \"GET\" });\n };\n\n const performInspect = async () => {\n const file = encodeURLString(inspectPath + \"/xl.meta\");\n const volume = encodeURLString(volumeName);\n\n let basename = document.baseURI.replace(window.location.origin, \"\");\n const urlOfInspectApi = `${window.location.origin}${basename}/api/v1/admin/inspect?volume=${volume}&file=${file}&encrypt=${isEncrypt}`;\n\n makeRequest(urlOfInspectApi)\n .then(async (res) => {\n if (!res.ok) {\n const resErr: any = await res.json();\n\n dispatch(\n setErrorSnackMessage({\n errorMessage: resErr.message,\n detailedError: resErr.code,\n }),\n );\n }\n const blob: Blob = await res.blob();\n\n //@ts-ignore\n const filename = res.headers.get(\"content-disposition\").split('\"')[1];\n const decryptKey = getCookieValue(filename) || \"\";\n\n performDownload(blob, filename);\n setInsFileName(filename);\n if (decryptKey === \"\") {\n onClose();\n return;\n }\n setDecryptionKey(decryptKey);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(err));\n });\n };\n\n const onCloseDecKeyModal = () => {\n deleteCookie(insFileName);\n onClose();\n setDecryptionKey(\"\");\n };\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n };\n\n return (\n \n {!decryptionKey && (\n }\n title={`Inspect Object`}\n onClose={onClose}\n >\n \n \n )}\n {decryptionKey ? (\n }\n >\n \n This will be displayed only once. It cannot be recovered.\n \n Use secure medium to share this key.\n \n \n \n \n \n ) : null}\n \n );\n};\n\nexport default InspectObject;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { Button, EditIcon, FormLayout, Grid, InputBox, Switch } from \"mds\";\nimport { modalStyleUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport { useAppDispatch } from \"../../../store\";\nimport { downloadObject } from \"./utils\";\nimport { BucketObject } from \"api/consoleApi\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\n\ninterface IRenameLongFilename {\n open: boolean;\n bucketName: string;\n internalPaths: string;\n currentItem: string;\n actualInfo: BucketObject;\n closeModal: () => void;\n}\n\nconst RenameLongFileName = ({\n open,\n closeModal,\n currentItem,\n internalPaths,\n actualInfo,\n bucketName,\n}: IRenameLongFilename) => {\n const dispatch = useAppDispatch();\n\n const [newFileName, setNewFileName] = useState(currentItem);\n const [acceptLongName, setAcceptLongName] = useState(false);\n\n const doDownload = (e: React.FormEvent) => {\n e.preventDefault();\n downloadObject(dispatch, bucketName, internalPaths, actualInfo);\n closeModal();\n };\n\n return (\n }\n >\n
\n The file you are trying to download has a long name.\n \n This can cause issues on Windows Systems by trimming the file name after\n download.\n \n We recommend to rename the file download\n
\n \n \n );\n};\n\nexport default RenameLongFileName;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { useSelector } from \"react-redux\";\nimport {\n ActionsList,\n Box,\n Button,\n DeleteIcon,\n DownloadIcon,\n Grid,\n InspectMenuIcon,\n LegalHoldIcon,\n Loader,\n MetadataIcon,\n ObjectInfoIcon,\n PreviewIcon,\n RetentionIcon,\n ShareIcon,\n SimpleHeader,\n TagsIcon,\n VersionsIcon,\n} from \"mds\";\nimport { api } from \"api\";\nimport { downloadObject } from \"../../../../ObjectBrowser/utils\";\nimport { BucketObject, BucketVersioningResponse } from \"api/consoleApi\";\nimport { AllowedPreviews, previewObjectType } from \"../utils\";\nimport {\n decodeURLString,\n niceBytes,\n niceBytesInt,\n niceDaysInt,\n} from \"../../../../../../common/utils\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../../../common/SecureComponent/permissions\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../../../common/SecureComponent\";\nimport { selDistSet } from \"../../../../../../systemSlice\";\nimport {\n setLoadingObjectInfo,\n setLoadingVersions,\n setSelectedVersion,\n setVersionsModeEnabled,\n} from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport { displayFileIconName } from \"./utils\";\nimport PreviewFileModal from \"../Preview/PreviewFileModal\";\nimport ObjectMetaData from \"../ObjectDetails/ObjectMetaData\";\nimport ShareFile from \"../ObjectDetails/ShareFile\";\nimport SetRetention from \"../ObjectDetails/SetRetention\";\nimport DeleteObject from \"../ListObjects/DeleteObject\";\nimport SetLegalHoldModal from \"../ObjectDetails/SetLegalHoldModal\";\nimport TagsModal from \"../ObjectDetails/TagsModal\";\nimport InspectObject from \"./InspectObject\";\nimport RenameLongFileName from \"../../../../ObjectBrowser/RenameLongFilename\";\nimport TooltipWrapper from \"../../../../Common/TooltipWrapper/TooltipWrapper\";\n\nconst emptyFile: BucketObject = {\n is_latest: true,\n last_modified: \"\",\n legal_hold_status: \"\",\n name: \"\",\n retention_mode: \"\",\n retention_until_date: \"\",\n size: 0,\n tags: {},\n version_id: undefined,\n};\n\ninterface IObjectDetailPanelProps {\n internalPaths: string;\n bucketName: string;\n versioningInfo: BucketVersioningResponse;\n locking: boolean | undefined;\n onClosePanel: (hardRefresh: boolean) => void;\n}\n\nconst ObjectDetailPanel = ({\n internalPaths,\n bucketName,\n versioningInfo,\n locking,\n onClosePanel,\n}: IObjectDetailPanelProps) => {\n const dispatch = useAppDispatch();\n\n const distributedSetup = useSelector(selDistSet);\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode,\n );\n const selectedVersion = useSelector(\n (state: AppState) => state.objectBrowser.selectedVersion,\n );\n const loadingObjectInfo = useSelector(\n (state: AppState) => state.objectBrowser.loadingObjectInfo,\n );\n\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [retentionModalOpen, setRetentionModalOpen] = useState(false);\n const [tagModalOpen, setTagModalOpen] = useState(false);\n const [legalholdOpen, setLegalholdOpen] = useState(false);\n const [inspectModalOpen, setInspectModalOpen] = useState(false);\n const [actualInfo, setActualInfo] = useState(null);\n const [allInfoElements, setAllInfoElements] = useState([]);\n const [objectToShare, setObjectToShare] = useState(null);\n const [versions, setVersions] = useState([]);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [previewOpen, setPreviewOpen] = useState(false);\n const [totalVersionsSize, setTotalVersionsSize] = useState(0);\n const [longFileOpen, setLongFileOpen] = useState(false);\n const [metaData, setMetaData] = useState(null);\n const [loadMetadata, setLoadingMetadata] = useState(false);\n\n const internalPathsDecoded = decodeURLString(internalPaths) || \"\";\n const allPathData = internalPathsDecoded.split(\"/\");\n const currentItem = allPathData.pop() || \"\";\n\n // calculate object name to display\n let objectNameArray: string[] = [];\n if (actualInfo && actualInfo.name) {\n objectNameArray = actualInfo.name.split(\"/\");\n }\n\n useEffect(() => {\n if (distributedSetup && allInfoElements && allInfoElements.length >= 1) {\n let infoElement =\n allInfoElements.find((el: BucketObject) => el.is_latest) || emptyFile;\n\n if (selectedVersion !== \"\") {\n infoElement =\n allInfoElements.find(\n (el: BucketObject) => el.version_id === selectedVersion,\n ) || emptyFile;\n }\n\n if (!infoElement.is_delete_marker) {\n setLoadingMetadata(true);\n }\n\n setActualInfo(infoElement);\n }\n }, [selectedVersion, distributedSetup, allInfoElements]);\n\n useEffect(() => {\n if (loadingObjectInfo && internalPaths !== \"\") {\n api.buckets\n .listObjects(bucketName, {\n prefix: internalPaths,\n with_versions: distributedSetup,\n })\n .then((res) => {\n const result: BucketObject[] = res.data.objects || [];\n if (distributedSetup) {\n setAllInfoElements(result);\n setVersions(result);\n\n const tVersionSize = result.reduce(\n (acc: number, currValue: BucketObject): number => {\n if (currValue?.size) {\n return acc + currValue.size;\n }\n return acc;\n },\n 0,\n );\n\n setTotalVersionsSize(tVersionSize);\n } else {\n const resInfo = result[0];\n\n setActualInfo(resInfo);\n setVersions([]);\n\n if (!resInfo.is_delete_marker) {\n setLoadingMetadata(true);\n }\n }\n\n dispatch(setLoadingObjectInfo(false));\n })\n .catch((err) => {\n console.error(\"Error loading object details\", err.error);\n dispatch(setLoadingObjectInfo(false));\n });\n }\n }, [\n loadingObjectInfo,\n bucketName,\n internalPaths,\n dispatch,\n distributedSetup,\n selectedVersion,\n ]);\n\n useEffect(() => {\n if (loadMetadata && internalPaths !== \"\") {\n api.buckets\n .getObjectMetadata(bucketName, {\n prefix: internalPaths,\n })\n .then((res) => {\n let metadata = get(res.data, \"objectMetadata\", {});\n\n setMetaData(metadata);\n setLoadingMetadata(false);\n })\n .catch((err) => {\n console.error(\"Error Getting Metadata Status: \", err.detailedError);\n setLoadingMetadata(false);\n });\n }\n }, [bucketName, internalPaths, loadMetadata]);\n\n let tagKeys: string[] = [];\n\n if (actualInfo && actualInfo.tags) {\n tagKeys = Object.keys(actualInfo.tags);\n }\n\n const openRetentionModal = () => {\n setRetentionModalOpen(true);\n };\n\n const closeRetentionModal = (updateInfo: boolean) => {\n setRetentionModalOpen(false);\n if (updateInfo) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const shareObject = () => {\n setShareFileModalOpen(true);\n };\n\n const closeShareModal = () => {\n setObjectToShare(null);\n setShareFileModalOpen(false);\n };\n\n const closeFileOpen = () => {\n setLongFileOpen(false);\n };\n\n const closeDeleteModal = (closeAndReload: boolean) => {\n setDeleteOpen(false);\n\n if (closeAndReload && selectedVersion === \"\") {\n onClosePanel(true);\n } else {\n dispatch(setLoadingVersions(true));\n dispatch(setSelectedVersion(\"\"));\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeAddTagModal = (reloadObjectData: boolean) => {\n setTagModalOpen(false);\n if (reloadObjectData) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeInspectModal = (reloadObjectData: boolean) => {\n setInspectModalOpen(false);\n if (reloadObjectData) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeLegalholdModal = (reload: boolean) => {\n setLegalholdOpen(false);\n if (reload) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const loaderForContainer = (\n
\n \n {selectedVersion !== \"\" && (\n \n Version ID:\n \n {selectedVersion}\n \n )}\n \n Size:\n \n {niceBytes(`${actualInfo.size || \"0\"}`)}\n \n {actualInfo.version_id &&\n actualInfo.version_id !== \"null\" &&\n selectedVersion === \"\" && (\n \n Versions:\n \n {versions.length} version{versions.length !== 1 ? \"s\" : \"\"},{\" \"}\n {niceBytesInt(totalVersionsSize)}\n \n )}\n {selectedVersion === \"\" && (\n \n Last Modified:\n \n {calculateLastModifyTime(actualInfo.last_modified || \"\")}\n \n )}\n \n ETAG:\n \n {actualInfo.etag || \"N/A\"}\n \n \n Tags:\n \n {tagKeys.length === 0\n ? \"N/A\"\n : tagKeys.map((tagKey, index) => {\n return (\n \n {tagKey}:{get(actualInfo, `tags.${tagKey}`, \"\")}\n {index < tagKeys.length - 1 ? \", \" : \"\"}\n \n );\n })}\n \n \n \n \n Legal Hold:\n \n {actualInfo.legal_hold_status ? \"On\" : \"Off\"}\n \n \n \n \n \n \n Retention Policy:\n \n \n {actualInfo.version_id && actualInfo.version_id !== \"null\" ? (\n \n {actualInfo.retention_mode\n ? actualInfo.retention_mode.toLowerCase()\n : \"None\"}\n \n ) : (\n \n {actualInfo.retention_mode\n ? actualInfo.retention_mode.toLowerCase()\n : \"None\"}\n \n )}\n \n \n \n \n {!actualInfo.is_delete_marker && (\n \n } />\n \n {actualInfo && metaData ? (\n \n ) : null}\n \n \n )}\n \n )}\n \n );\n};\n\nexport default ObjectDetailPanel;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { Box, RecoverIcon } from \"mds\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport { restoreLocalObjectList } from \"../../../../ObjectBrowser/objectBrowserSlice\";\n\ninterface IRestoreFileVersion {\n restoreOpen: boolean;\n bucketName: string;\n versionToRestore: BucketObject;\n objectPath: string;\n onCloseAndUpdate: (refresh: boolean) => void;\n}\n\nconst RestoreFileVersion = ({\n versionToRestore,\n bucketName,\n objectPath,\n restoreOpen,\n onCloseAndUpdate,\n}: IRestoreFileVersion) => {\n const dispatch = useAppDispatch();\n const [restoreLoading, setRestoreLoading] = useState(false);\n\n const restoreVersion = () => {\n setRestoreLoading(true);\n\n api.buckets\n .putObjectRestore(bucketName, {\n prefix: encodeURLString(objectPath),\n version_id: versionToRestore.version_id || \"\",\n })\n .then(() => {\n setRestoreLoading(false);\n onCloseAndUpdate(true);\n dispatch(\n restoreLocalObjectList({\n prefix: objectPath,\n objectInfo: versionToRestore,\n }),\n );\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setRestoreLoading(false);\n });\n };\n\n return (\n }\n onConfirm={restoreVersion}\n confirmButtonProps={{\n variant: \"secondary\",\n disabled: restoreLoading,\n }}\n onClose={() => {\n onCloseAndUpdate(false);\n }}\n confirmationContent={\n \n Are you sure you want to restore \n {objectPath} with Version ID:\n \n {versionToRestore.version_id}?\n \n }\n />\n );\n};\n\nexport default RestoreFileVersion;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\n\ninterface ISpecificVersionPillProps {\n type: \"null\" | \"current\" | \"deleted\";\n}\n\nconst SpecificVersionPill = ({ type }: ISpecificVersionPillProps) => {\n let bgColor = \"#000\";\n let message = \"\";\n\n switch (type) {\n case \"null\":\n bgColor = \"#07193E\";\n message = \"NULL VERSION\";\n break;\n case \"deleted\":\n bgColor = \"#868686\";\n message = \"DELETED\";\n break;\n default:\n bgColor = \"#174551\";\n message = \"CURRENT VERSION\";\n }\n\n return (\n \n {message}\n \n );\n};\n\nexport default SpecificVersionPill;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { DateTime } from \"luxon\";\nimport styled from \"styled-components\";\nimport get from \"lodash/get\";\nimport { displayFileIconName } from \"../ListObjects/utils\";\nimport {\n DownloadIcon,\n PreviewIcon,\n RecoverIcon,\n ShareIcon,\n IconButton,\n Tooltip,\n Grid,\n Checkbox,\n} from \"mds\";\nimport { niceBytes } from \"../../../../../../common/utils\";\nimport SpecificVersionPill from \"./SpecificVersionPill\";\nimport { BucketObject } from \"api/consoleApi\";\n\ninterface IFileVersionItem {\n fileName: string;\n versionInfo: BucketObject;\n index: number;\n isSelected?: boolean;\n checkable: boolean;\n isChecked: boolean;\n onCheck: (versionID: string) => void;\n onShare: (versionInfo: BucketObject) => void;\n onDownload: (versionInfo: BucketObject) => void;\n onRestore: (versionInfo: BucketObject) => void;\n onPreview: (versionInfo: BucketObject) => void;\n globalClick: (versionInfo: BucketObject) => void;\n key: any;\n style: any;\n}\n\nconst FileVersionStyled = styled.div(({ theme }) => {\n return {\n \"&:before\": {\n content: \"' '\",\n display: \"block\",\n position: \"absolute\",\n width: \"2px\",\n height: \"calc(100% + 2px)\",\n backgroundColor: get(theme, \"borderColor\", \"#F8F8F8\"),\n left: \"24px\",\n },\n \"& .mainFileVersionItem\": {\n borderBottom: `${get(theme, \"borderColor\", \"#F8F8F8\")} 1px solid`,\n padding: \"1rem 0\",\n margin: \"0 0.5rem 0 2.5rem\",\n cursor: \"pointer\",\n \"&.deleted\": {\n color: \"#868686\",\n },\n },\n \"& .intermediateLayer\": {\n margin: \"0 1.5rem 0 1.5rem\",\n \"&:hover, &.selected\": {\n backgroundColor: get(theme, \"boxBackground\", \"#F8F8F8\"),\n \"& > div\": {\n borderBottomColor: get(theme, \"boxBackground\", \"#F8F8F8\"),\n },\n },\n },\n \"& .versionContainer\": {\n fontSize: 16,\n fontWeight: \"bold\",\n display: \"flex\",\n alignItems: \"center\",\n \"& svg.min-icon\": {\n width: 18,\n height: 18,\n minWidth: 18,\n minHeight: 18,\n marginRight: 10,\n },\n },\n \"& .buttonContainer\": {\n textAlign: \"right\",\n \"& button\": {\n marginLeft: \"1.5rem\",\n },\n },\n \"& .versionID\": {\n fontSize: \"12px\",\n margin: \"2px 0\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n maxWidth: \"95%\",\n overflow: \"hidden\",\n },\n \"& .versionData\": {\n marginRight: \"10px\",\n fontSize: 12,\n color: \"#868686\",\n },\n \"@media (max-width: 600px)\": {\n \"& .buttonContainer\": {\n \"& button\": {\n marginLeft: \"5px\",\n },\n },\n },\n \"@media (max-width: 799px)\": {\n \"&:before\": {\n display: \"none\",\n },\n \"& .mainFileVersionItem\": {\n padding: \"5px 0px\",\n margin: 0,\n },\n \"& .intermediateLayer\": {\n margin: 0,\n \"&:hover, &.selected\": {\n backgroundColor: \"transparent\",\n \"& > div\": {\n borderBottomColor: get(theme, \"boxBackground\", \"#F8F8F8\"),\n },\n },\n },\n \"& .versionContainer\": {\n fontSize: 14,\n \"& svg.min-icon\": {\n display: \"none\",\n },\n },\n \"& .versionData\": {\n textOverflow: \"ellipsis\",\n maxWidth: \"95%\",\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n },\n \"& .collapsableInfo\": {\n display: \"flex\",\n flexDirection: \"column\",\n },\n \"& .versionItem\": {\n display: \"none\",\n },\n },\n };\n});\n\nconst FileVersionItem = ({\n fileName,\n versionInfo,\n isSelected,\n checkable,\n isChecked,\n onCheck,\n onShare,\n onDownload,\n onRestore,\n onPreview,\n globalClick,\n index,\n key,\n style,\n}: IFileVersionItem) => {\n const disableButtons = versionInfo.is_delete_marker;\n\n const versionItemButtons = [\n {\n icon: ,\n action: onPreview,\n tooltip: \"Preview\",\n },\n {\n icon: ,\n action: onDownload,\n tooltip: \"Download this version\",\n },\n {\n icon: ,\n action: onShare,\n tooltip: \"Share this version\",\n },\n {\n icon: ,\n action: onRestore,\n tooltip: \"Restore this version\",\n },\n ];\n\n let pill: \"deleted\" | \"current\" | \"null\" | null = null;\n\n if (versionInfo.is_delete_marker) {\n pill = \"deleted\";\n } else if (versionInfo.is_latest) {\n pill = \"current\";\n } else if (versionInfo.version_id === \"null\") {\n pill = \"null\";\n }\n\n let lastModified = DateTime.now();\n\n if (versionInfo.last_modified) {\n lastModified = DateTime.fromISO(\n versionInfo.last_modified,\n ) as DateTime;\n }\n\n return (\n \n {\n globalClick(versionInfo);\n }}\n key={key}\n style={style}\n >\n \n \n \n \n \n {checkable && (\n {\n e.stopPropagation();\n onCheck(versionInfo.version_id || \"\");\n }}\n value={versionInfo.version_id || \"\"}\n disabled={versionInfo.is_delete_marker}\n sx={{\n width: \"initial\",\n }}\n />\n )}\n {displayFileIconName(fileName, true)} v{index.toString()}\n \n {pill && }\n \n \n \n {versionItemButtons.map((button, index) => {\n return (\n \n {\n e.stopPropagation();\n if (!disableButtons) {\n button.action(versionInfo);\n } else {\n e.preventDefault();\n }\n }}\n sx={{\n backgroundColor: \"#F8F8F8\",\n borderRadius: \"100%\",\n width: \"28px\",\n height: \"28px\",\n padding: \"5px\",\n \"& .min-icon\": {\n width: \"14px\",\n height: \"14px\",\n },\n }}\n >\n {button.icon}\n \n \n );\n })}\n \n \n \n \n {versionInfo.version_id !== \"null\" ? versionInfo.version_id : \"-\"}\n \n \n \n Last modified:{\" \"}\n {lastModified.toFormat(\"ccc, LLL dd yyyy HH:mm:ss (ZZZZ)\")}\n \n \n Size: {niceBytes(`${versionInfo.size || \"0\"}`)}\n \n \n \n \n \n \n );\n};\n\nexport default FileVersionItem;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\n\nimport { decodeURLString } from \"../../../../../../common/utils\";\nimport { ConfirmDeleteIcon, Switch, Grid, InputBox } from \"mds\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { useSelector } from \"react-redux\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\n\ninterface IDeleteNonCurrentProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObject: string;\n selectedBucket: string;\n}\n\nconst DeleteNonCurrentVersions = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n}: IDeleteNonCurrentProps) => {\n const dispatch = useAppDispatch();\n const [deleteLoading, setDeleteLoading] = useState(false);\n const [typeConfirm, setTypeConfirm] = useState(\"\");\n const [bypassGovernance, setBypassGovernance] = useState(false);\n\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const canBypass =\n hasPermission(\n [selectedBucket],\n [IAM_SCOPES.S3_BYPASS_GOVERNANCE_RETENTION],\n ) && retentionConfig?.mode === \"governance\";\n\n useEffect(() => {\n if (deleteLoading) {\n api.buckets\n .deleteObject(selectedBucket, {\n prefix: selectedObject,\n non_current_versions: true,\n bypass: bypassGovernance,\n })\n .then(() => {\n closeDeleteModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setDeleteLoading(false);\n });\n }\n }, [\n deleteLoading,\n closeDeleteModalAndRefresh,\n dispatch,\n selectedObject,\n selectedBucket,\n bypassGovernance,\n ]);\n\n if (!selectedObject) {\n return null;\n }\n const onConfirmDelete = () => {\n setDeleteLoading(true);\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={() => closeDeleteModalAndRefresh(false)}\n confirmButtonProps={{\n disabled: typeConfirm !== \"YES, PROCEED\" || deleteLoading,\n }}\n confirmationContent={\n \n Are you sure you want to delete all the non-current versions for:{\" \"}\n {decodeURLString(selectedObject)}? \n {canBypass && (\n \n
\n \n )}\n \n To continue please type YES, PROCEED in the box.\n \n \n \n ) => {\n setTypeConfirm(event.target.value);\n }}\n label=\"\"\n value={typeConfirm}\n />\n \n \n }\n />\n );\n};\n\nexport default DeleteNonCurrentVersions;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon, Switch } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { useSelector } from \"react-redux\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\n\ninterface IDeleteSelectedVersionsProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedVersions: string[];\n selectedObject: string;\n selectedBucket: string;\n}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedVersions,\n selectedObject,\n}: IDeleteSelectedVersionsProps) => {\n const dispatch = useAppDispatch();\n const [deleteLoading, setDeleteLoading] = useState(false);\n const [bypassGovernance, setBypassGovernance] = useState(false);\n\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const canBypass =\n hasPermission(\n [selectedBucket],\n [IAM_SCOPES.S3_BYPASS_GOVERNANCE_RETENTION],\n ) && retentionConfig?.mode === \"governance\";\n\n const onClose = () => closeDeleteModalAndRefresh(false);\n const onConfirmDelete = () => {\n setDeleteLoading(true);\n };\n\n useEffect(() => {\n if (deleteLoading) {\n const selectedObjectsRequest = selectedVersions.map((versionID) => {\n return {\n path: selectedObject,\n versionID: versionID,\n recursive: false,\n };\n });\n\n if (selectedObjectsRequest.length > 0) {\n api.buckets\n .deleteMultipleObjects(selectedBucket, selectedObjectsRequest, {\n all_versions: false,\n bypass: bypassGovernance,\n })\n .then(() => {\n setDeleteLoading(false);\n closeDeleteModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setDeleteLoading(false);\n });\n }\n }\n }, [\n deleteLoading,\n closeDeleteModalAndRefresh,\n selectedBucket,\n selectedObject,\n selectedVersions,\n bypassGovernance,\n dispatch,\n ]);\n\n if (!selectedVersions) {\n return null;\n }\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete the selected {selectedVersions.length}{\" \"}\n versions for {selectedObject}?\n {canBypass && (\n \n
\n )}\n \n \n );\n};\n\nexport default DaysSelector;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport {\n Button,\n CopyIcon,\n ReadBox,\n ShareIcon,\n Grid,\n ProgressBar,\n Tooltip,\n} from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport DaysSelector from \"../../../../Common/FormComponents/DaysSelector/DaysSelector\";\nimport {\n encodeURLString,\n niceTimeFromSeconds,\n} from \"../../../../../../common/utils\";\nimport {\n selDistSet,\n setModalErrorSnackMessage,\n setModalSnackMessage,\n} from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { getMaxShareLinkExpTime } from \"screens/Console/ObjectBrowser/objectBrowserThunks\";\nimport { maxShareLinkExpTime } from \"screens/Console/ObjectBrowser/objectBrowserSlice\";\n\ninterface IShareFileProps {\n open: boolean;\n bucketName: string;\n dataObject: BucketObject;\n closeModalAndRefresh: () => void;\n}\n\nconst ShareFile = ({\n open,\n closeModalAndRefresh,\n bucketName,\n dataObject,\n}: IShareFileProps) => {\n const dispatch = useAppDispatch();\n const distributedSetup = useSelector(selDistSet);\n const maxshareLinkExpTimeVal = useSelector(maxShareLinkExpTime);\n const [shareURL, setShareURL] = useState(\"\");\n const [isLoadingVersion, setIsLoadingVersion] = useState(true);\n const [isLoadingFile, setIsLoadingFile] = useState(false);\n const [selectedDate, setSelectedDate] = useState(\"\");\n const [dateValid, setDateValid] = useState(true);\n const [versionID, setVersionID] = useState(\"null\");\n\n const initialDate = new Date();\n\n const dateChanged = (newDate: string, isValid: boolean) => {\n setDateValid(isValid);\n if (isValid) {\n setSelectedDate(newDate);\n return;\n }\n setSelectedDate(\"\");\n setShareURL(\"\");\n };\n\n useEffect(() => {\n dispatch(getMaxShareLinkExpTime());\n }, [dispatch]);\n\n useEffect(() => {\n // In case version is undefined, we get the latest version of the object\n if (dataObject.version_id === undefined) {\n // In case it is not distributed setup, then we default to \"null\";\n if (distributedSetup) {\n api.buckets\n .listObjects(bucketName, {\n prefix: encodeURLString(dataObject.name || \"\"),\n with_versions: distributedSetup,\n })\n .then((res) => {\n const result: BucketObject[] = res.data.objects || [];\n\n const latestVersion: BucketObject | undefined = result.find(\n (elem: BucketObject) => elem.is_latest,\n );\n\n if (latestVersion) {\n setVersionID(`${latestVersion.version_id}`);\n return;\n }\n\n // Version couldn't be retrieved, we default\n setVersionID(\"null\");\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n });\n\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(\"null\");\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(dataObject.version_id || \"null\");\n setIsLoadingVersion(false);\n }, [bucketName, dataObject, distributedSetup, dispatch]);\n\n useEffect(() => {\n if (dateValid && !isLoadingVersion) {\n setIsLoadingFile(true);\n setShareURL(\"\");\n\n const slDate = new Date(`${selectedDate}`);\n const currDate = new Date();\n\n const diffDate = Math.ceil(\n (slDate.getTime() - currDate.getTime()) / 1000,\n );\n\n if (diffDate > 0) {\n api.buckets\n .shareObject(bucketName, {\n prefix: encodeURLString(dataObject.name || \"\"),\n version_id: versionID,\n expires: selectedDate !== \"\" ? `${diffDate}s` : \"\",\n })\n .then((res) => {\n setShareURL(res.data);\n setIsLoadingFile(false);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setShareURL(\"\");\n setIsLoadingFile(false);\n });\n }\n }\n }, [\n dataObject,\n selectedDate,\n bucketName,\n dateValid,\n setShareURL,\n dispatch,\n distributedSetup,\n isLoadingVersion,\n versionID,\n ]);\n\n return (\n \n }\n modalOpen={open}\n onClose={() => {\n closeModalAndRefresh();\n }}\n >\n {isLoadingVersion && (\n \n \n \n )}\n {!isLoadingVersion && (\n \n \n \n You can reset your session by logging out and logging back\n in to the web UI.
\n You can increase the maximum configuration time by setting\n the MINIO_STS_DURATION environment variable on all your\n nodes.
\n You can use mc share as an alternative to this UI,\n where the session length does not limit the URL validity.\n \n }\n >\n \n The following URL lets you share this object without requiring\n a login. \n The URL expires automatically at the earlier of your\n configured time ({niceTimeFromSeconds(maxshareLinkExpTimeVal)}\n ) or the expiration of your current web session.\n \n \n \n \n \n \n \n \n \n \n \n \n )}\n \n \n );\n};\n\nexport default ShareFile;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { Document, Page, pdfjs } from \"react-pdf\";\nimport { Box, Button, InformativeMessage } from \"mds\";\n\npdfjs.GlobalWorkerOptions.workerSrc = \"./scripts/pdf.worker.min.js\";\n\ninterface IPreviewPDFProps {\n path: string;\n loading: boolean;\n onLoad: () => void;\n downloadFile: () => void;\n}\n\nconst PreviewPDF = ({\n path,\n loading,\n onLoad,\n downloadFile,\n}: IPreviewPDFProps) => {\n const [errorState, setErrorState] = useState(false);\n const [totalPages, setTotalPages] = useState(0);\n\n if (!path) {\n return null;\n }\n\n const renderPages = totalPages > 5 ? 5 : totalPages;\n const arrayCreate = Array.from(Array(renderPages).keys());\n\n return (\n \n {errorState && totalPages === 0 && (\n \n File preview couldn't be displayed, Please try Download instead.\n \n \n \n \n }\n sx={{ marginBottom: 10 }}\n />\n )}\n {!loading && !errorState && (\n \n This is a File Preview for the first {arrayCreate.length} pages of\n the document, if you wish to work with the full document please\n download instead.\n \n \n \n \n }\n sx={{ marginBottom: 10 }}\n />\n )}\n {!errorState && (\n \n {\n setTotalPages(_pdfInfo.numPages || 0);\n setErrorState(false);\n onLoad();\n }}\n onLoadError={(error) => {\n setErrorState(true);\n onLoad();\n console.error(error);\n }}\n >\n {arrayCreate.map((item) => (\n \n ))}\n \n \n )}\n \n );\n};\n\nexport default PreviewPDF;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { ProgressBar, Grid, Box, InformativeMessage } from \"mds\";\nimport get from \"lodash/get\";\nimport { AllowedPreviews, previewObjectType } from \"../utils\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport { api } from \"../../../../../../api\";\nimport PreviewPDF from \"./PreviewPDF\";\nimport { downloadObject } from \"../../../../ObjectBrowser/utils\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport { BucketObject } from \"../../../../../../api/consoleApi\";\n\ninterface IPreviewFileProps {\n bucketName: string;\n actualInfo: BucketObject;\n isFullscreen?: boolean;\n}\n\nconst PreviewFile = ({\n bucketName,\n actualInfo,\n isFullscreen = false,\n}: IPreviewFileProps) => {\n const dispatch = useAppDispatch();\n\n const [loading, setLoading] = useState(true);\n\n const [metaData, setMetaData] = useState(null);\n const [isMetaDataLoaded, setIsMetaDataLoaded] = useState(false);\n\n const objectName = actualInfo?.name || \"\";\n\n const fetchMetadata = useCallback(() => {\n if (!isMetaDataLoaded) {\n const encodedPath = encodeURLString(objectName);\n api.buckets\n .getObjectMetadata(bucketName, {\n prefix: encodedPath,\n })\n .then((res) => {\n let metadata = get(res.data, \"objectMetadata\", {});\n setIsMetaDataLoaded(true);\n setMetaData(metadata);\n })\n .catch((err) => {\n console.error(\n \"Error Getting Metadata Status: \",\n err,\n err?.detailedError,\n );\n setIsMetaDataLoaded(true);\n });\n }\n }, [bucketName, objectName, isMetaDataLoaded]);\n\n useEffect(() => {\n if (bucketName && objectName) {\n fetchMetadata();\n }\n }, [bucketName, objectName, fetchMetadata]);\n\n let path = \"\";\n\n if (actualInfo) {\n const encodedPath = encodeURLString(actualInfo.name || \"\");\n let basename = document.baseURI.replace(window.location.origin, \"\");\n path = `${window.location.origin}${basename}api/v1/buckets/${bucketName}/objects/download?preview=true&prefix=${encodedPath}`;\n if (actualInfo.version_id) {\n path = path.concat(`&version_id=${actualInfo.version_id}`);\n }\n }\n\n let objectType: AllowedPreviews = previewObjectType(metaData, objectName);\n\n const iframeLoaded = () => {\n setLoading(false);\n };\n\n return (\n \n {objectType !== \"none\" && loading && (\n \n \n \n )}\n {isMetaDataLoaded ? (\n \n {objectType === \"video\" && (\n \n )}\n {objectType === \"audio\" && (\n \n )}\n {objectType === \"image\" && (\n \n )}\n {objectType === \"pdf\" && (\n \n \n downloadObject(dispatch, bucketName, path, actualInfo)\n }\n />\n \n )}\n {objectType === \"none\" && (\n
\n )}\n \n ) : null}\n \n );\n};\nexport default PreviewFile;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport PreviewFileContent from \"./PreviewFileContent\";\nimport { ObjectPreviewIcon } from \"mds\";\nimport { BucketObject } from \"../../../../../../api/consoleApi\";\n\ninterface IPreviewFileProps {\n open: boolean;\n bucketName: string;\n actualInfo: BucketObject;\n onClosePreview: () => void;\n}\n\nconst PreviewFileModal = ({\n open,\n bucketName,\n actualInfo,\n onClosePreview,\n}: IPreviewFileProps) => {\n return (\n \n }\n >\n \n \n \n );\n};\n\nexport default PreviewFileModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense
(\n WrappedComponent: ComponentType
,\n fallback: SuspenseProps[\"fallback\"] = null,\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { AppState } from \"../../../store\";\nimport { encodeURLString, getClientOS } from \"../../../common/utils\";\nimport { BucketObjectItem } from \"../Buckets/ListBuckets/Objects/ListObjects/types\";\nimport { makeid, storeCallForObjectWithID } from \"./transferManager\";\nimport {\n download,\n downloadSelectedAsZip,\n} from \"../Buckets/ListBuckets/Objects/utils\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n setAnonymousAccessOpen,\n setDownloadRenameModal,\n setMaxShareLinkExpTime,\n setNewObject,\n setPreviewOpen,\n setSelectedPreview,\n setShareFileModalOpen,\n updateProgress,\n} from \"./objectBrowserSlice\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { DateTime } from \"luxon\";\nimport { api } from \"api\";\n\nexport const downloadSelected = createAsyncThunk(\n \"objectBrowser/downloadSelected\",\n async (bucketName: string, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\n\n const downloadObject = (object: BucketObjectItem) => {\n const identityDownload = encodeURLString(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`,\n );\n\n const ID = makeid(8);\n\n const downloadCall = download(\n bucketName,\n encodeURLString(object.name),\n object.version_id,\n object.size,\n null,\n ID,\n (progress) => {\n dispatch(\n updateProgress({\n instanceID: identityDownload,\n progress: progress,\n }),\n );\n },\n () => {\n dispatch(completeObject(identityDownload));\n },\n (msg: string) => {\n dispatch(failObject({ instanceID: identityDownload, msg }));\n },\n () => {\n dispatch(cancelObjectInList(identityDownload));\n },\n () => {\n dispatch(\n setSnackBarMessage(\n \"File download will be handled directly by the browser.\",\n ),\n );\n },\n );\n storeCallForObjectWithID(ID, downloadCall);\n dispatch(\n setNewObject({\n ID,\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name,\n type: \"download\",\n waitingForFile: true,\n failed: false,\n cancelled: false,\n errorMessage: \"\",\n }),\n );\n };\n\n if (state.objectBrowser.selectedObjects.length !== 0) {\n let itemsToDownload: BucketObjectItem[] = [];\n\n const filterFunction = (currValue: BucketObjectItem) =>\n state.objectBrowser.selectedObjects.includes(currValue.name);\n\n itemsToDownload = state.objectBrowser.records.filter(filterFunction);\n\n // In case just one element is selected, then we trigger download modal validation.\n if (itemsToDownload.length === 1) {\n if (\n itemsToDownload[0].name.length > 200 &&\n getClientOS().toLowerCase().includes(\"win\")\n ) {\n dispatch(setDownloadRenameModal(itemsToDownload[0]));\n return;\n } else {\n downloadObject(itemsToDownload[0]);\n }\n } else {\n if (itemsToDownload.length === 1) {\n downloadObject(itemsToDownload[0]);\n } else if (itemsToDownload.length > 1) {\n const fileName = `${DateTime.now().toFormat(\n \"LL-dd-yyyy-HH-mm-ss\",\n )}_files_list.zip`;\n\n // We are enforcing zip download when multiple files are selected for better user experience\n const multiObjList = itemsToDownload.reduce((dwList: any[], bi) => {\n // Download objects/prefixes(recursively) as zip\n // Skip any deleted files selected via \"Show deleted objects\" in selection and log for debugging\n const isDeleted = bi?.delete_flag;\n if (bi && !isDeleted) {\n dwList.push(bi.name);\n } else {\n console.log(`Skipping ${bi?.name} from download.`);\n }\n return dwList;\n }, []);\n\n await downloadSelectedAsZip(bucketName, multiObjList, fileName);\n return;\n }\n }\n }\n },\n);\n\nexport const openPreview = createAsyncThunk(\n \"objectBrowser/openPreview\",\n async (_, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\n\n if (state.objectBrowser.selectedObjects.length === 1) {\n let fileObject: BucketObjectItem | undefined;\n\n const findFunction = (currValue: BucketObjectItem) =>\n state.objectBrowser.selectedObjects.includes(currValue.name);\n\n fileObject = state.objectBrowser.records.find(findFunction);\n\n if (fileObject) {\n dispatch(setSelectedPreview(fileObject));\n dispatch(setPreviewOpen(true));\n }\n }\n },\n);\n\nexport const openShare = createAsyncThunk(\n \"objectBrowser/openShare\",\n async (_, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\n\n if (state.objectBrowser.selectedObjects.length === 1) {\n let fileObject: BucketObjectItem | undefined;\n\n const findFunction = (currValue: BucketObjectItem) =>\n state.objectBrowser.selectedObjects.includes(currValue.name);\n\n fileObject = state.objectBrowser.records.find(findFunction);\n\n if (fileObject) {\n dispatch(setSelectedPreview(fileObject));\n dispatch(setShareFileModalOpen(true));\n }\n }\n },\n);\n\nexport const openAnonymousAccess = createAsyncThunk(\n \"objectBrowser/openAnonymousAccess\",\n async (_, { getState, dispatch }) => {\n const state = getState() as AppState;\n\n if (\n state.objectBrowser.selectedObjects.length === 1 &&\n state.objectBrowser.selectedObjects[0].endsWith(\"/\")\n ) {\n dispatch(setAnonymousAccessOpen(true));\n }\n },\n);\n\nexport const getMaxShareLinkExpTime = createAsyncThunk(\n \"objectBrowser/maxShareLinkExpTime\",\n async (_, { rejectWithValue, dispatch }) => {\n return api.buckets\n .getMaxShareLinkExp()\n .then((res) => {\n dispatch(setMaxShareLinkExpTime(res.data.exp));\n })\n .catch(async (res) => {\n return rejectWithValue(res.error);\n });\n },\n);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { encodeURLString, getClientOS } from \"../../../common/utils\";\nimport { makeid, storeCallForObjectWithID } from \"./transferManager\";\nimport { download } from \"../Buckets/ListBuckets/Objects/utils\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n setLongFileOpen,\n setNewObject,\n updateProgress,\n} from \"./objectBrowserSlice\";\nimport { AppDispatch } from \"../../../store\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { BucketObject } from \"api/consoleApi\";\n\nexport const downloadObject = (\n dispatch: AppDispatch,\n bucketName: string,\n internalPaths: string,\n object: BucketObject,\n) => {\n const identityDownload = encodeURLString(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`,\n );\n\n const isWinOs = getClientOS().toLowerCase().includes(\"win\");\n\n if ((object.name?.length || 0) > 200 && isWinOs) {\n dispatch(setLongFileOpen(true));\n return;\n }\n\n const ID = makeid(8);\n\n const downloadCall = download(\n bucketName,\n internalPaths,\n object.version_id,\n object.size || 0,\n null,\n ID,\n (progress) => {\n dispatch(\n updateProgress({\n instanceID: identityDownload,\n progress: progress,\n }),\n );\n },\n () => {\n dispatch(completeObject(identityDownload));\n },\n (msg: string) => {\n dispatch(failObject({ instanceID: identityDownload, msg }));\n },\n () => {\n dispatch(cancelObjectInList(identityDownload));\n },\n () => {\n dispatch(\n setSnackBarMessage(\n \"File download will be handled directly by the browser.\",\n ),\n );\n },\n );\n\n storeCallForObjectWithID(ID, downloadCall);\n dispatch(\n setNewObject({\n ID,\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name || \"\",\n type: \"download\",\n waitingForFile: true,\n failed: false,\n cancelled: false,\n errorMessage: \"\",\n }),\n );\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { Button, CopyIcon, InputBox, Box, breakPoints } from \"mds\";\n\nconst KeyRevealer = ({ value }: { value: string }) => {\n const [shown, setShown] = useState(false);\n\n return (\n \n {}}\n value={value}\n overlayIcon={}\n readOnly={true}\n overlayAction={() => navigator.clipboard.writeText(value)}\n />\n\n \n );\n};\n\nexport default KeyRevealer;\n"],"names":["_ref","modalOpen","onClose","bucket","prefilledRoute","dispatch","useAppDispatch","prefix","setPrefix","useState","selectedAccess","setSelectedAccess","useEffect","_jsx","ModalWrapper","title","titleIcon","AddAccessRuleIcon","children","_jsxs","FormLayout","withBorders","containerPadding","InputBox","value","label","id","name","placeholder","onChange","e","target","tooltip","Select","options","disabled","helpTip","Fragment","helpTipPlacement","Grid","item","xs","sx","modalStyleUtils","modalButtonBar","Button","type","variant","onClick","resetForm","trim","createProcess","api","setAccessRuleWithBucket","access","then","res","setSnackBarMessage","catch","setErrorSnackMessage","errorToHandler","error","extractFileExtn","resourceStr","match","getSessionGrantsWildCard","sessionGrants","uploadPath","scopes","arguments","length","undefined","grantsWithExtension","Object","keys","reduce","acc","grantKey","includes","filter","sessionGrantKey","hasScope","some","actionKey","find","scopeKey","wildCardMatch","indexOf","scopeActionKey","substring","isUploadPathMatching","concat","CreatePathModal","withSuspense","React","BreadcrumbsMain","styled","div","display","paddingRight","alignItems","breakPoints","lg","margin","bucketName","internalPaths","hidePathButton","additionalOptions","navigate","useNavigate","rewindEnabled","useSelector","state","objectBrowser","rewind","versionsMode","versionedFile","anonymousMode","system","createFolderOpen","setCreateFolderOpen","canCreateSubpath","setCanCreateSubpath","putObjectPermScopes","IAM_SCOPES","S3_PUT_OBJECT","S3_PUT_ACTIONS","console","session","permissions","paths","splitPaths","split","path","lastBreadcrumbsIndex","pathToCheckPerms","sessionGrantWildCards","forEach","grant","canCreatePath","hasPermission","breadcrumbsMap","map","objectItem","index","subSplit","slice","join","route","encodeURLString","className","style","cursor","whiteSpace","safeDecodeURIComponent","Link","to","setVersionsModeEnabled","status","objectName","toString","versionsItem","listBreadcrumbs","folderName","closeAddFolderModal","limitedSubPath","Breadcrumbs","goBackFunction","prevPath","CopyToClipboard","text","icon","CopyIcon","width","height","fill","marginTop","color","border","marginRight","Box","Tooltip","permissionTooltipHelper","NewPathIcon","marginBottom","justifyContent","fontSize","fontWeight","flexDirection","flexWrap","isVersionedMode","forceDisable","uploadFileFunction","uploadFolderFunction","overrideStyles","anchorEl","setAnchorEl","uploadOptionsOpen","uploadOptionsSetOpen","openUploadMenu","Boolean","handleCloseUpload","uploadObjectAllowed","uploadFolderAllowed","uploadEnabled","TooltipWrapper","event","currentTarget","UploadIcon","DropdownSelector","UploadFolderIcon","selectedOption","onSelect","nValue","hideTriggerAction","open","anchorOrigin","useAnchorWidth","closePanel","borderColor","borderWidth","borderStyle","borderRadius","borderBottomLeftRadius","borderBottomRightRadius","transitionDuration","overflowX","overflowY","position","opacity","marginLeft","minWidth","borderLeftWidth","ClosePanelIcon","right","top","padding","backgroundColor","strings","minHeight","overflow","textOverflow","replaceUnicodeChar","extensionToIcon","FileVideoIcon","extensions","FileMusicIcon","FilePdfIcon","FilePptIcon","FileXlsIcon","FileLockIcon","FileCodeIcon","FileConfigIcon","FileDbIcon","FileFontIcon","FileTxtIcon","FileZipIcon","FileBookIcon","FileImageIcon","displayFileIconName","element","returnOnlyIcon","elementString","FileNonType","endsWith","FolderBrowserIcon","lowercaseElement","toLowerCase","etc","ext","FileMissingIcon","splitItem","IconWithLabel","metaData","metaKeys","renderItem","Array","isArray","itemRendererFn","maxHeight","months","days","from","_","num","currentYear","Date","getFullYear","years","numYear","forwardRef","ref","disableOptions","borderBottom","onDateChange","useImperativeHandle","resetDate","month","setMonth","day","setDay","year","setYear","valueSplit","parseInt","isValid","dateString","validDate","currentDate","parse","isNaN","parsedMonth","parsedDay","monthForString","dayForString","parsedDate","toISOString","isDateDisabled","monthForDropDown","daysForDrop","yearsForDrop","gap","InputLabel","htmlFor","placement","HelpIcon","newValue","closeModalAndRefresh","objectInfo","retentionConfig","statusEnabled","setStatusEnabled","setType","date","setDate","isDateValid","setIsDateValid","isSaving","setIsSaving","alreadyConfigured","setAlreadyConfigured","retention_mode","mode","ObjectRetentionMode","Governance","retention_until_date","valueDate","getMonth","getDate","dateElement","useRef","current","showSwitcher","noValidate","autoComplete","onSubmit","preventDefault","Switch","checked","indicatorLabels","RadioGroup","currentValue","selectorOptions","Compliance","DateSelector","saveNewRetentionPolicy","selectedObject","versionId","version_id","expireDate","addRetention","buckets","putObjectRetention","expires","err","setModalErrorSnackMessage","disableRetention","deleteObjectRetention","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","versioningInfo","selectedVersion","deleteLoading","invokeDeleteApi","useApi","onDelSuccess","detailedError","deleteVersions","setDeleteVersions","bypassGovernance","setBypassGovernance","canBypass","S3_BYPASS_GOVERNANCE_RETENTION","ConfirmDialog","confirmText","isOpen","ConfirmDeleteIcon","isLoading","onConfirm","onConfirmDelete","recursive","decodeURLString","confirmationContent","description","actualInfo","legalHoldEnabled","setLegalHoldEnabled","get","putObjectLegalHold","ObjectLegalHoldStatus","Enabled","Disabled","DeleteTag","b","theme","_ref2","_actualInfo$name","onCloseAndUpdate","distributedSetup","selDistSet","newKey","setNewKey","newLabel","setNewLabel","isSending","setIsSending","deleteEnabled","setDeleteEnabled","deleteKey","setDeleteKey","deleteLabel","setDeleteLabel","currentTags","tags","currTagKeys","allPathData","currentItem","pop","tagsFor","plural","iconColor","DisabledIcon","EditTagIcon","container","cancelDelete","deleteTagProcess","cleanObject","verID","putObjectTags","SecureComponent","S3_GET_OBJECT_TAGGING","S3_GET_ACTIONS","resource","flexFlow","tagKey","tag","S3_DELETE_OBJECT_TAGGING","errorProps","deleteIcon","onDelete","Tag","onDeleteTag","S3_PUT_OBJECT_TAGGING","SectionTitle","AddNewTagIcon","separator","addTagProcess","newTag","newTagList","closeInspectModalAndRefresh","inspectOpen","inspectPath","volumeName","isEncrypt","setIsEncrypt","decryptionKey","setDecryptionKey","insFileName","setInsFileName","InspectMenuIcon","async","file","volume","basename","document","baseURI","replace","window","location","origin","fetch","url","method","makeRequest","ok","resErr","json","errorMessage","message","code","blob","filename","headers","decryptKey","getCookieValue","performDownload","onCloseDecKeyModal","deleteCookie","PasswordKeyIcon","KeyRevealer","closeModal","newFileName","setNewFileName","acceptLongName","setAcceptLongName","EditIcon","downloadObject","doDownload","emptyFile","is_latest","last_modified","legal_hold_status","size","locking","onClosePanel","loadingObjectInfo","shareFileModalOpen","setShareFileModalOpen","retentionModalOpen","setRetentionModalOpen","tagModalOpen","setTagModalOpen","legalholdOpen","setLegalholdOpen","inspectModalOpen","setInspectModalOpen","setActualInfo","allInfoElements","setAllInfoElements","objectToShare","setObjectToShare","versions","setVersions","setDeleteOpen","previewOpen","setPreviewOpen","totalVersionsSize","setTotalVersionsSize","longFileOpen","setLongFileOpen","setMetaData","loadMetadata","setLoadingMetadata","objectNameArray","infoElement","el","is_delete_marker","listObjects","with_versions","result","data","objects","tVersionSize","currValue","resInfo","setLoadingObjectInfo","getObjectMetadata","metadata","tagKeys","loaderForContainer","textAlign","Loader","objectResources","canSetLegalHold","S3_PUT_OBJECT_LEGAL_HOLD","canSetTags","canChangeRetention","S3_GET_OBJECT_RETENTION","S3_PUT_OBJECT_RETENTION","canInspect","ADMIN_INSPECT_DATA","canChangeVersioning","S3_GET_BUCKET_VERSIONING","S3_PUT_BUCKET_VERSIONING","S3_GET_OBJECT_VERSION","canGetObject","S3_GET_OBJECT","canDelete","S3_DELETE_OBJECT","objectType","previewObjectType","multiActionButtons","action","DownloadIcon","ShareIcon","PreviewIcon","LegalHoldIcon","openRetentionModal","RetentionIcon","TagsIcon","VersionsIcon","ShareFile","closeShareModal","dataObject","SetRetention","updateInfo","DeleteObject","closeAndReload","setLoadingVersions","setSelectedVersion","SetLegalHoldModal","reload","PreviewFileModal","onClosePreview","TagsModal","reloadObjectData","InspectObject","RenameLongFileName","closeFileOpen","textTransform","ActionsList","items","DeleteIcon","iconLocation","fullWidth","SimpleHeader","ObjectInfoIcon","overflowWrap","niceBytes","niceBytesInt","lastModified","currentTime","modifiedTime","difTime","getTime","formatTime","niceDaysInt","calculateLastModifyTime","etag","S3_GET_OBJECT_LEGAL_HOLD","MetadataIcon","ObjectMetaData","versionToRestore","objectPath","restoreOpen","restoreLoading","setRestoreLoading","RecoverIcon","restoreVersion","putObjectRestore","restoreLocalObjectList","confirmButtonProps","bgColor","FileVersionStyled","content","left","borderBottomColor","maxWidth","fileName","versionInfo","isSelected","checkable","isChecked","onCheck","onShare","onDownload","onRestore","onPreview","globalClick","key","disableButtons","versionItemButtons","pill","DateTime","now","fromISO","md","Checkbox","stopPropagation","SpecificVersionPill","button","IconButton","toFormat","setDeleteLoading","typeConfirm","setTypeConfirm","deleteObject","non_current_versions","bypass","selectedVersions","selectedObjectsRequest","versionID","deleteMultipleObjects","all_versions","searchVersions","loadingVersions","restoreVersionOpen","setRestoreVersionOpen","setRestoreVersion","sortValue","setSortValue","deleteNonCurrentOpen","setDeleteNonCurrentOpen","selectEnabled","setSelectEnabled","selectedItems","setSelectedItems","delSelectedVOpen","setDelSelectedVOpen","decodedInternalPaths","filteredPrefixes","onShareItem","onPreviewItem","onRestoreItem","onDownloadItem","onGlobalClick","filteredRecords","version","totalSpace","sort","a","dateA","dateB","onCheckVersion","filteredItems","cloneState","push","RestoreFileVersion","content_type","DeleteNonCurrent","reloadAfterDelete","DeleteSelectedVersions","reloadOnComplete","ProgressBar","BrowserBreadcrumbs","ScreenTitle","subTitle","actions","SelectMultipleIcon","DeleteNonCurrentIcon","noLabelMinWidth","bottomBorder","flexGrow","List","containerStyle","rowCount","rowHeight","rowRenderer","isScrolling","isVisible","versOrd","FileVersionItem","displayParsedDate","object","currTime","objectTime","hasSame","displayNiceBytes","String","listModeColumns","elementKey","renderFunction","enableSort","renderFullObject","rewindModeColumns","ListObjectsTable","params","useParams","sortDirection","setSortDirection","currentSortField","setCurrentSortField","detailsOpen","objectDetailsOpen","requestInProgress","features","selFeatures","obOnly","records","searchObjects","selectedObjects","connectionError","displayListObjects","S3_LIST_BUCKET","S3_ALL_LIST_BUCKET","sortASC","sortListObjects","payload","reverse","tableActions","_object$name","idElement","newPath","setSelectedObjects","setObjectDetailsView","setSelectedObjectView","sendOnlyId","customPaperHeight","DataTable","itemActions","columns","entityName","idField","targetD","elements","customEmptyMessage","sortEnabled","currentSort","currentDirection","onSortClick","sortData","newSortDirection","sortBy","setReloadObjectsList","onSelectAll","selectAllItems","rowStyle","_payload$index","delete_flag","noBackground","FilterObjectsSB","SearchBox","setSearchObjects","DeleteMultipleObjects","RewindEnable","baseDnDStyle","outline","activeDnDStyle","acceptDnDStyle","ListObjects","_downloadRenameModal$","useLocation","bucketToRewind","showDeleted","selectedInternalPaths","simplePath","versioningConfig","lockingEnabled","downloadRenameModal","selectedPreview","anonymousAccessOpen","_state$objectBrowser","loadingBucket","selBucketDetailsLoading","bucketInfo","selBucketDetailsInfo","deleteMultipleOpen","setDeleteMultipleOpen","rewindSelect","setRewindSelect","iniLoad","setIniLoad","canShareFile","setCanShareFile","canPreviewFile","setCanPreviewFile","quota","setQuota","isMetaDataLoaded","setIsMetaDataLoaded","isVersioningApplied","pathSegment","pathname","pageTitle","currentPath","i","fileUpload","folderUpload","pathAsResourceInPolicy","allowedFileExtensions","cv","extension","Set","getPolicyAllowedFileExtensions","canDownload","canRewind","canUpload","canSetAnonymousAccess","S3_GET_BUCKET_POLICY","S3_PUT_BUCKET_POLICY","isSelObjectDelMarker","checkForDelMarker","isObjDelMarker","obj","fetchMetadata","useCallback","encodedPath","resetRewind","setAttribute","isPrefix","getBucketQuota","quotaVals","detailedMessage","setBucketDetailsLoad","setBucketInfo","getBucketRetentionConfig","setRetentionConfig","handleUploadButton","files","newFiles","uploadObject","folderPath","pathPrefix","upload","uploadPromise","Promise","resolve","reject","uploadUrl","blobFile","Blob","filePath","fileWebkitRelativePath","relativeFolderPath","ID","makeid","prefixPath","finalFolderPath","pathClean","startsWith","identity","Math","random","xhr","XMLHttpRequest","setRequestHeader","areMultipleFiles","errorMessages","withCredentials","onload","completeObject","removeTrace","response","JSON","failObject","instanceID","msg","addEventListener","progress","floor","loaded","total","updateProgress","onerror","onloadend","onabort","cancelObjectInList","formData","FormData","append","storeCallForObjectWithID","setNewObject","done","percentage","waitingForFile","failed","cancelled","storeFormDataWithID","uploadFilePromises","openList","allSettled","results","errors","totalFiles","successUploadedFiles","onDrop","acceptedFiles","newFolderPath","allowedFiles","fileExtn","log","getRootProps","getInputProps","isDragActive","isDragAccept","useDropzone","noClick","dndStyles","useMemo","forceRefresh","splitURLS","URLItem","createdTime","creation_date","downloadToolTip","downloadSelected","openShare","openPreview","openAnonymousAccess","AccessRuleIcon","setSelectedPreview","refresh","versioning","rewindCloseModal","closePreviewWindow","closeRenameModal","setDownloadRenameModal","AddAccessRule","closeAddAccessRule","setAnonymousAccessOpen","PageLayout","paddingBottom","BucketsIcon","Badge","dotOnly","invisible","HistoryIcon","RefreshIcon","resetMessages","multiple","accept","UploadFilesButton","closeMenu","click","borderTop","VersionsNavigator","setDeletedAction","setShowDeletedObjects","DetailsListPanel","ObjectDetailPanel","configureBucketAllowed","S3_GET_BUCKET_ENCRYPTION_CONFIGURATION","S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION","S3_DELETE_BUCKET","S3_GET_BUCKET_NOTIFICATIONS","S3_PUT_BUCKET_NOTIFICATIONS","S3_GET_REPLICATION_CONFIGURATION","S3_PUT_REPLICATION_CONFIGURATION","S3_GET_LIFECYCLE_CONFIGURATION","S3_PUT_LIFECYCLE_CONFIGURATION","ADMIN_GET_BUCKET_QUOTA","ADMIN_SET_BUCKET_QUOTA","S3_PUT_BUCKET_TAGGING","S3_GET_BUCKET_TAGGING","S3_LIST_BUCKET_VERSIONS","S3_GET_BUCKET_POLICY_STATUS","S3_DELETE_BUCKET_POLICY","searchBar","setSearchVersions","setHelpName","AutoColorIcon","ObjectManagerButton","PageHeaderWrapper","BackLink","IAM_PAGES","OBJECT_BROWSER_VIEW","IAM_PERMISSIONS","IAM_ROLES","BUCKET_ADMIN","SettingsIcon","HelpMenu","middleComponent","BrowserHandler","loadingVersioning","rewindDate","dateToRewind","loadingLocking","reloadObjectsList","initWSRequest","rewindMode","pathLoad","forceLoad","searchPath","setRequestInProgress","decodedIPaths","setLoadingVersioning","setLoadingLocking","getBucketVersioning","setIsVersioned","getBucketObjectLockingStatus","setLockingEnabled","object_locking_enabled","OBHeader","initialDate","maxSeconds","entity","maxDays","maxHours","maxMinutes","selectedDays","setSelectedDays","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","setValidDate","dateSelected","setDateSelected","calculateNewTime","hours","minutes","fromJSDate","plus","formattedDate","valid","extraStyles","paddingLeft","min","max","LinkIcon","maxshareLinkExpTimeVal","maxShareLinkExpTime","shareURL","setShareURL","isLoadingVersion","setIsLoadingVersion","isLoadingFile","setIsLoadingFile","selectedDate","setSelectedDate","dateValid","setDateValid","setVersionID","getMaxShareLinkExpTime","latestVersion","elem","slDate","currDate","diffDate","ceil","shareObject","niceTimeFromSeconds","DaysSelector","dateChanged","newDate","ReadBox","actionButton","setModalSnackMessage","pdfjs","GlobalWorkerOptions","workerSrc","loading","onLoad","downloadFile","errorState","setErrorState","totalPages","setTotalPages","renderPages","arrayCreate","InformativeMessage","Document","onLoadSuccess","_pdfInfo","numPages","onLoadError","Page","pageNumber","renderAnnotationLayer","renderTextLayer","renderForms","isFullscreen","setLoading","iframeLoaded","flex","autoPlay","controls","muted","playsInline","onPlay","src","alt","PreviewPDF","allowTransparency","wideLimit","ObjectPreviewIcon","PreviewFileContent","WrappedComponent","fallback","props","Suspense","createAsyncThunk","getState","rejectWithValue","identityDownload","downloadCall","download","itemsToDownload","filterFunction","getClientOS","multiObjList","dwList","bi","isDeleted","downloadSelectedAsZip","fileObject","findFunction","_ref3","_ref4","_ref5","getMaxShareLinkExp","setMaxShareLinkExpTime","exp","isWinOs","shown","setShown","sm","overlayIcon","readOnly","overlayAction","navigator","clipboard","writeText"],"sourceRoot":""}
\ No newline at end of file
diff --git a/web-app/build/static/js/2959.e0878952.chunk.js b/web-app/build/static/js/2959.e0878952.chunk.js
new file mode 100644
index 0000000000..27594551c1
--- /dev/null
+++ b/web-app/build/static/js/2959.e0878952.chunk.js
@@ -0,0 +1,2 @@
+(self.webpackChunkweb_app=self.webpackChunkweb_app||[]).push([[2959,614],{30614:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>h});var s=n(65043),o=n(94141),a=n(89923),i=n(56629),l=n(53518),r=n(77403),c=n(64159),d=n(20554),u=n(70579);const h=e=>{let{modalOpen:t,onClose:n,bucket:h,prefilledRoute:x}=e;const m=(0,d.jL)(),[p,j]=(0,s.useState)(""),[b,g]=(0,s.useState)("readonly");(0,s.useEffect)((()=>{x&&j(x)}),[x]);return(0,u.jsx)(o.A,{modalOpen:t,title:"Add Anonymous Access Rule",onClose:n,titleIcon:(0,u.jsx)(a.No_,{}),children:(0,u.jsxs)(a.Hbc,{withBorders:!1,containerPadding:!1,children:[(0,u.jsx)(a.cl_,{value:p,label:"Prefix",id:"prefix",name:"prefix",placeholder:"Enter Prefix",onChange:e=>{j(e.target.value)},tooltip:"Enter '/' to apply the rule to all prefixes and objects at the bucket root. Do not include the wildcard asterisk '*' as part of the prefix *unless* it is an explicit part of the prefix name. The Console automatically appends an asterisk to the appropriate sections of the resulting IAM policy."}),(0,u.jsx)(a.l6P,{id:"access",name:"Access",onChange:e=>{g(e)},label:"Access",value:b,options:[{label:"readonly",value:"readonly"},{label:"writeonly",value:"writeonly"},{label:"readwrite",value:"readwrite"}],disabled:!1,helpTip:(0,u.jsx)(s.Fragment,{children:"Select the desired level of access available to unauthenticated Users"}),helpTipPlacement:"right"}),(0,u.jsxs)(a.xA9,{item:!0,xs:12,sx:r.Uz.modalButtonBar,children:[(0,u.jsx)(a.$nd,{id:"clear",type:"button",variant:"regular",onClick:()=>{j(""),g("readonly")},label:"Clear"}),(0,u.jsx)(a.$nd,{id:"add-access-save",type:"submit",variant:"callAction",disabled:""===p.trim(),onClick:()=>{i.F.bucket.setAccessRuleWithBucket(h,{prefix:p,access:b}).then((e=>{m((0,c.Hk)("Access Rule added successfully")),n()})).catch((e=>{m((0,c.C9)((0,l.S)(e.error))),n()}))},label:"Save"})]})]})})}},27945:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>Me});var s=n(65043),o=n(22166),a=n(73216),i=n(56629),l=n(20554),r=n(99161),c=n(56483),d=n(6035),u=n(33097),h=n.n(u),x=n(89923),m=n(53518),p=n(94281),j=n(24241),b=n(61476),g=n.n(b),f=n(94574),v=n(35475),_=n(77938),S=n(72237),O=n(64159);const w=e=>(e.match(/\.([^.]*?)(?=\?|#|$)/)||[])[1],T=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];const s=Object.keys(e).reduce(((n,s)=>(w(s)&&s.includes(t)&&(n[s]=e[s]),n)),{});return Object.keys(s).filter((e=>{const o=s[e].some((e=>n.find((t=>{let n=!1;if(-1!==t.indexOf("*")){const s=t.substring(0,t.length-1);n=e.includes(s)}return n||e===t})))),a=e.substring(0,e.indexOf("/*."))==="arn:aws:s3:::".concat(t);return o&&(a&&"arn:aws:s3:::*"!==e)}))};var y=n(70579);const C=(0,S.A)(s.lazy((()=>n.e(7774).then(n.bind(n,97774))))),E=f.Ay.div((()=>({display:"flex","& .additionalOptions":{paddingRight:"10px",display:"flex",alignItems:"center",["@media (max-width: ".concat(x.nmC.lg,"px)")]:{display:"none"}},"& .slashSpacingStyle":{margin:"0 5px"}}))),N=e=>{let{bucketName:t,internalPaths:n,hidePathButton:i,additionalOptions:u}=e;const h=(0,l.jL)(),m=(0,a.Zp)(),p=(0,o.d4)((e=>e.objectBrowser.rewind.rewindEnabled)),j=(0,o.d4)((e=>e.objectBrowser.versionsMode)),b=(0,o.d4)((e=>e.objectBrowser.versionedFile)),f=(0,o.d4)((e=>e.system.anonymousMode)),[S,w]=(0,s.useState)(!1),[N,A]=(0,s.useState)(!1),I=[r.OV.S3_PUT_OBJECT,r.OV.S3_PUT_ACTIONS],k=(0,o.d4)((e=>e.console.session&&e.console.session.permissions||{}));let B=n;""!==n&&(B="/".concat(n));const F=B.split("/").filter((e=>""!==e)),L=F.length-1,V=t+B||t,D=T(k,V,I);(0,s.useEffect)((()=>{A(!1),Object.keys(k).forEach((e=>{e.includes(V)&&e.includes("/*")&&A(!0)}))}),[V,n,k]);const P=(0,_._)([V,...D],I)||f||N;let R=F.map(((e,n)=>{const o="".concat(F.slice(0,n+1).join("/"),"/"),a="/browser/".concat(t,"/").concat(o?"".concat((0,c.nf)(o)):"");return n===L&&e===b?null:(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)("span",{className:"slashSpacingStyle",children:"/"}),n===L?(0,y.jsx)("span",{style:{cursor:"default",whiteSpace:"pre"},children:(0,c.Tw)(e)}):(0,y.jsx)(v.N_,{style:{whiteSpace:"pre"},to:a,onClick:()=>{h((0,d.cQ)({status:!1,objectName:""}))},children:(0,c.Tw)(e)})]},"breadcrumbs-".concat(n.toString()))})),U=[];j&&(U=[(0,y.jsx)(s.Fragment,{children:(0,y.jsxs)("span",{children:[(0,y.jsx)("span",{className:"slashSpacingStyle",children:"/"}),b," - Versions"]})},"breadcrumbs-versionedItem")]);const z=[(0,y.jsx)(s.Fragment,{children:(0,y.jsx)(v.N_,{to:"/browser/".concat(t),onClick:()=>{h((0,d.cQ)({status:!1,objectName:""}))},children:t})},"breadcrumbs-root-path"),...R,...U];return(0,y.jsxs)(s.Fragment,{children:[(0,y.jsxs)(E,{children:[S&&(0,y.jsx)(C,{modalOpen:S,bucketName:t,folderName:n,onClose:()=>{w(!1)},limitedSubPath:N&&!((0,_._)([V,...D],I)||f)}),(0,y.jsx)(x.BIu,{sx:{whiteSpace:"pre"},goBackFunction:()=>{if(j)h((0,d.cQ)({status:!1,objectName:""}));else{if(0===F.length)return void m("/browser");const e=F.slice(0,-1);m("/browser/".concat(t).concat(e.length>0?"/".concat((0,c.nf)("".concat(e.join("/"),"/"))):""))}},additionalOptions:(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)(g(),{text:"".concat(t,"/").concat(F.join("/")),children:(0,y.jsx)(x.$nd,{id:"copy-path",icon:(0,y.jsx)(x.TdU,{style:{width:"12px",height:"12px",fill:"#969FA8",marginTop:-1}}),variant:"regular",onClick:()=>{h((0,O.Hk)("Path copied to clipboard"))},style:{width:"28px",height:"28px",color:"#969FA8",border:"#969FA8 1px solid",marginRight:5}})}),(0,y.jsx)(x.azJ,{className:"additionalOptions",children:u})]}),children:z}),!i&&(0,y.jsx)(x.m_M,{tooltip:P?"Choose or create a new path":(0,r.vj)([r.OV.S3_PUT_OBJECT,r.OV.S3_PUT_ACTIONS],"create a new path"),children:(0,y.jsx)(x.$nd,{id:"new-path",onClick:()=>{w(!0)},disabled:!f&&(p||!P),icon:(0,y.jsx)(x.pj3,{style:{fill:"#969FA8"}}),style:{whiteSpace:"nowrap"},variant:"regular",label:"Create new path"})})]}),(0,y.jsx)(x.azJ,{sx:{display:"none",marginTop:15,marginBottom:5,justifyContent:"flex-start","& > div":{fontSize:12,fontWeight:"normal",flexDirection:"row",flexWrap:"nowrap"},["@media (max-width: ".concat(x.nmC.lg,"px)")]:{display:"flex"}},children:u})]})};var A=n(93445);const I=e=>"Enabled"===e||"Suspended"===e;var k=n(37414),B=n(39947),F=n(81708),L=n(6681);const V=e=>{let{uploadPath:t,bucketName:n,forceDisable:a=!1,uploadFileFunction:i,uploadFolderFunction:l,overrideStyles:c={}}=e;const[d,u]=(0,s.useState)(null),[h,m]=(0,s.useState)(!1),p=(0,o.d4)((e=>e.system.anonymousMode)),j=(0,o.d4)((e=>e.console.session&&e.console.session.permissions||{})),b=[r.OV.S3_PUT_OBJECT,r.OV.S3_PUT_ACTIONS],g=T(j,t,b),f=Boolean(d),v=()=>{u(null)},S=(0,_._)([t,...g],b)||p,O=(0,_._)([n,...g],b,!1,!0),w=S||O;return(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)(L.A,{tooltip:w?"Upload Files":(0,r.vj)([r.OV.S3_PUT_OBJECT,r.OV.S3_PUT_ACTIONS],"upload files to this bucket"),children:(0,y.jsx)(x.$nd,{id:"upload-main","aria-controls":"upload-main-menu","aria-haspopup":"true","aria-expanded":f?"true":void 0,onClick:e=>{m(!h),u(e.currentTarget)},label:"Upload",icon:(0,y.jsx)(x.JMY,{}),variant:"callAction",disabled:a||!w,sx:c})}),(0,y.jsx)(x.Vey,{id:"upload-main-menu",options:[{label:"Upload File",icon:(0,y.jsx)(x.JMY,{}),value:"file",disabled:!S||a},{label:"Upload Folder",icon:(0,y.jsx)(x.nDF,{}),value:"folder",disabled:!O||a}],selectedOption:"",onSelect:e=>{"folder"!==e?i(v):l(v)},hideTriggerAction:()=>{m(!1)},open:h,anchorEl:d,anchorOrigin:"end",useAnchorWidth:!0})]})},D=e=>{let{open:t,closePanel:n,className:s="",children:o}=e;return(0,y.jsxs)(x.azJ,{id:"details-panel",sx:{borderColor:"#EAEDEE",borderWidth:0,borderStyle:"solid",borderRadius:3,borderBottomLeftRadius:0,borderBottomRightRadius:0,width:0,transitionDuration:"0.3s",overflowX:"hidden",overflowY:"auto",position:"relative",opacity:0,marginLeft:-1,"&.open":{width:300,minWidth:300,borderLeftWidth:1,opacity:1},"@media (max-width: 799px)":{"&.open":{width:"100%",minWidth:"100%",borderLeftWidth:0}}},className:"".concat(t?"open":""," ").concat(s),children:[(0,y.jsx)(x.$nd,{variant:"text",id:"close-details-list",onClick:n,icon:(0,y.jsx)(x._FR,{}),sx:{position:"absolute",right:5,top:18,padding:0,height:14,"&:hover:not(:disabled)":{backgroundColor:"transparent"}}}),o]})};var P=n(48245);const R=e=>{let{icon:t,strings:n}=e;return(0,y.jsxs)(x.azJ,{sx:{display:"flex",alignItems:"center","& .min-icon":{width:16,height:16,marginRight:4,minWidth:16,minHeight:16},"& .fileNameText":{whiteSpace:"pre",overflow:"hidden",textOverflow:"ellipsis"}},children:[t,(0,y.jsx)("span",{className:"fileNameText",children:(0,c.qf)(n[n.length-1])})]})},U=[{icon:(0,y.jsx)(x.FRZ,{}),extensions:["mp4","mov","avi","mpeg","mpg"]},{icon:(0,y.jsx)(x.jCy,{}),extensions:["mp3","m4a","aac"]},{icon:(0,y.jsx)(x.yTC,{}),extensions:["pdf"]},{icon:(0,y.jsx)(x.QvW,{}),extensions:["ppt","pptx"]},{icon:(0,y.jsx)(x.z9t,{}),extensions:["xls","xlsx"]},{icon:(0,y.jsx)(x.VSs,{}),extensions:["cer","crt","pem"]},{icon:(0,y.jsx)(x.bM2,{}),extensions:["html","xml","css","py","go","php","cpp","h","java"]},{icon:(0,y.jsx)(x.qM2,{}),extensions:["cfg","yaml"]},{icon:(0,y.jsx)(x.ITz,{}),extensions:["sql"]},{icon:(0,y.jsx)(x.PcO,{}),extensions:["ttf","otf"]},{icon:(0,y.jsx)(x.yEV,{}),extensions:["doc","docx","txt","rtf"]},{icon:(0,y.jsx)(x.j_m,{}),extensions:["zip","rar","tar","gz"]},{icon:(0,y.jsx)(x.DUd,{}),extensions:["epub","mobi","azw","azw3"]},{icon:(0,y.jsx)(x.nLN,{}),extensions:["jpeg","jpg","gif","tiff","png","heic","dng"]}],z=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e,s=(0,y.jsx)(x.KlI,{});e.endsWith("/")&&(s=(0,y.jsx)(x.kez,{}),n=e.slice(0,-1));const o=e.toLowerCase();for(const i of U)for(const e of i.extensions)o.endsWith(".".concat(e))&&(s=i.icon);!e.endsWith("/")&&e.indexOf(".")<0&&(s=(0,y.jsx)(x.YJK,{}));const a=n.split("/");return t?s:(0,y.jsx)(R,{icon:s,strings:a})};var G=n(37524);const M=e=>{let{metaData:t}=e;const n=Object.keys(t);return(0,y.jsx)(s.Fragment,{children:n.map(((e,n)=>{const s=(e=>Array.isArray(e)?e.map(c.Tw).join(", "):(0,c.Tw)(e))(t[e]);return(0,y.jsxs)(x.azJ,{sx:{marginBottom:15,fontSize:14,maxHeight:180,overflowY:"auto"},children:[(0,y.jsx)("strong",{children:e}),(0,y.jsx)("br",{}),s]},"box-meta-".concat(e,"-").concat(n.toString()))}))})};var J=n(30718),K=n(85330),W=n(77403);const H=[{value:"01",label:"January"},{value:"02",label:"February"},{value:"03",label:"March"},{value:"04",label:"April"},{value:"05",label:"May"},{value:"06",label:"June"},{value:"07",label:"July"},{value:"08",label:"August"},{value:"09",label:"September"},{value:"10",label:"October"},{value:"11",label:"November"},{value:"12",label:"December"}],Y=Array.from(Array(31),((e,t)=>({value:(t+1).toString(),label:(t+1).toString()}))),$=(new Date).getFullYear(),Z=Array.from(Array(50),((e,t)=>({value:(t+$).toString(),label:(t+$).toString()})));var q=n(94141);const Q=(0,s.forwardRef)(((e,t)=>{let{id:n,label:o,disableOptions:a=!1,tooltip:i="",borderBottom:l=!1,onDateChange:r,value:c=""}=e;(0,s.useImperativeHandle)(t,(()=>({resetDate:b})));const[d,u]=(0,s.useState)(""),[h,m]=(0,s.useState)(""),[p,j]=(0,s.useState)("");(0,s.useEffect)((()=>{if(""!==c){const e=c.split("-");j(e[0]),u(e[1]),m("".concat(parseInt(e[2])))}}),[c]),(0,s.useEffect)((()=>{const[e,t]=((e,t,n)=>{const s=Date.parse("".concat(e,"-").concat(t,"-").concat(n));if(isNaN(s))return[!1,""];const o=parseInt(t),a=parseInt(n),i=o<10?"0".concat(o):o,l=a<10?"0".concat(a):a,r=new Date(s).toISOString().split("T")[0],c="".concat(e,"-").concat(i,"-").concat(l);return[r===c,c]})(p,d,h);r(t,e)}),[d,h,p,r]);const b=()=>{u(""),m(""),j("")},g=()=>a||!1,f=[{value:"",label:""},...H],v=[{value:"",label:""},...Y],_=[{value:"",label:""},...Z];return(0,y.jsxs)(x.azJ,{className:"inputItem",children:[(0,y.jsx)(x.azJ,{sx:{display:"flex",alignItems:"center",gap:5,marginBottom:5},children:(0,y.jsxs)(x.l1Y,{htmlFor:n,children:[(0,y.jsx)("span",{children:o}),""!==i&&(0,y.jsx)(x.azJ,{sx:{marginLeft:5,display:"flex",alignItems:"center","& .min-icon":{width:13}},children:(0,y.jsx)(x.m_M,{tooltip:i,placement:"top",children:(0,y.jsx)(x.azJ,{sx:{"& .min-icon":{width:13}},children:(0,y.jsx)(x.NTw,{})})})})]})}),(0,y.jsxs)(x.azJ,{sx:{display:"flex",gap:12},children:[(0,y.jsx)(x.l6P,{id:"".concat(n,"-month"),name:"".concat(n,"-month"),value:d,onChange:e=>{u(e)},options:f,label:"",disabled:g()}),(0,y.jsx)(x.l6P,{id:"".concat(n,"-day"),name:"".concat(n,"-day"),value:h,onChange:e=>{m(e)},options:v,label:"",disabled:g()}),(0,y.jsx)(x.l6P,{id:"".concat(n,"-year"),name:"".concat(n,"-year"),value:p,onChange:e=>{j(e)},options:_,label:"",disabled:g(),sx:{marginBottom:12}})]})]})})),X=e=>{let{open:t,closeModalAndRefresh:n,objectName:a,objectInfo:r,bucketName:d}=e;const u=(0,l.jL)(),h=(0,o.d4)((e=>e.objectBrowser.retentionConfig)),[p,j]=(0,s.useState)(!0),[b,g]=(0,s.useState)(""),[f,v]=(0,s.useState)(""),[_,S]=(0,s.useState)(!1),[w,T]=(0,s.useState)(!1),[C,E]=(0,s.useState)(!1);(0,s.useEffect)((()=>{if(r.retention_mode&&(g((null===h||void 0===h?void 0:h.mode)||K.BT.Governance),E(!0)),r.retention_until_date){const t=new Date(r.retention_until_date);if("Invalid Date"!==t.toString()){const n=t.getFullYear(),s=(e=t.getMonth()+1)<10?"0".concat(e):"".concat(e),o=t.getDate();isNaN(o)||"NaN"===s||isNaN(n)||v("".concat(n,"-").concat(s,"-").concat(o))}E(!0)}var e}),[r,null===h||void 0===h?void 0:h.mode]);const N=(0,s.useRef)(null),A=()=>{j(!1),g(K.BT.Governance),N.current&&N.current.resetDate()},I=C&&("governance"===b||""===b);return(0,y.jsx)(q.A,{title:"Set Retention Policy",modalOpen:t,onClose:()=>{A(),n(!1)},children:(0,y.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault()})(e)},children:(0,y.jsxs)(x.Hbc,{withBorders:!1,containerPadding:!1,children:[(0,y.jsxs)(x.azJ,{className:"inputItem",children:[(0,y.jsx)("strong",{children:"Selected Object"}),": ",a]}),I&&(0,y.jsx)(x.dOG,{value:"status",id:"status",name:"status",checked:p,onChange:e=>{j(!p)},label:"Status",indicatorLabels:["Enabled","Disabled"]}),(0,y.jsx)(x.z6M,{currentValue:b,id:"type",name:"type",label:"Type",disableOptions:!p||C&&""!==b,onChange:e=>{g(e.target.value)},selectorOptions:[{label:"Governance",value:K.BT.Governance},{label:"Compliance",value:K.BT.Compliance}]}),(0,y.jsx)(Q,{id:"date",label:"Date",disableOptions:!(p&&("governance"===b||"compliance"===b)),ref:N,value:f,borderBottom:!0,onDateChange:(e,t)=>{S(t),t&&v(e)}}),(0,y.jsxs)(x.xA9,{item:!0,xs:12,sx:W.Uz.modalButtonBar,children:[(0,y.jsx)(x.$nd,{id:"reset",type:"button",variant:"regular",onClick:A,label:"Reset"}),(0,y.jsx)(x.$nd,{id:"save",type:"submit",variant:"callAction",disabled:p&&""===b||p&&!_||w,onClick:()=>{T(!0);const e=r.name||"",t=r.version_id||null,s=p||"governance"!==b?"".concat(f,"T23:59:59Z"):"";p||"governance"!==b?((e,t,s)=>{i.F.buckets.putObjectRetention(d,{prefix:(0,c.nf)(e),version_id:t||""},{expires:s,mode:b}).then((()=>{T(!1),n(!0)})).catch((e=>{u((0,O.Dy)((0,m.S)(e.error))),T(!1)}))})(e,t,s):((e,t)=>{i.F.buckets.deleteObjectRetention(d,{prefix:(0,c.nf)(e),version_id:t||""}).then((()=>{T(!1),n(!0)})).catch((e=>{u((0,O.Dy)((0,m.S)(e.error))),T(!1)}))})(e,t)},label:"Save"})]})]})})})};var ee=n(58661),te=n(25448);const ne=e=>{let{closeDeleteModalAndRefresh:t,deleteOpen:n,selectedBucket:a,selectedObject:i,versioningInfo:d,selectedVersion:u=""}=e;const h=(0,l.jL)(),[m,p]=(0,te.A)((()=>t(!0)),(e=>{h((0,O.C9)(e)),"Access Denied."===e.detailedError&&t(!0)})),[j,b]=(0,s.useState)(!1),[g,f]=(0,s.useState)(!1),v=(0,o.d4)((e=>e.objectBrowser.retentionConfig)),S=(0,_._)([a],[r.OV.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===v||void 0===v?void 0:v.mode);if(!i)return null;return(0,y.jsx)(ee.A,{title:"Delete Object",confirmText:"Delete",isOpen:n,titleIcon:(0,y.jsx)(x.xWY,{}),isLoading:m,onConfirm:()=>{const e=(0,c.x6)(i).endsWith("/");p("DELETE","/api/v1/buckets/".concat(a,"/objects?prefix=").concat(i).concat(""!==u?"&version_id=".concat(u):"&recursive=".concat(e,"&all_versions=").concat(j)).concat(g?"&bypass=true":""))},onClose:()=>t(!1),confirmationContent:(0,y.jsxs)(s.Fragment,{children:["Are you sure you want to delete: ",(0,y.jsx)("br",{}),(0,y.jsx)("b",{children:(0,c.x6)(i)})," ",""!==u?(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)("br",{}),(0,y.jsx)("br",{}),"Version ID:",(0,y.jsx)("br",{}),(0,y.jsx)("strong",{children:u})]}):"","? ",(0,y.jsx)("br",{}),(0,y.jsx)("br",{}),I(null===d||void 0===d?void 0:d.status)&&""===u&&(0,y.jsx)(s.Fragment,{children:(0,y.jsx)(x.dOG,{label:"Delete All Versions",indicatorLabels:["Yes","No"],checked:j,value:"delete_versions",id:"delete-versions",name:"delete-versions",onChange:e=>{b(!j)},description:""})}),S&&(j||""!==u)&&(0,y.jsx)(s.Fragment,{children:(0,y.jsx)("div",{style:{marginTop:10},children:(0,y.jsx)(x.dOG,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:g,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:e=>{f(!g)},description:""})})}),j&&(0,y.jsxs)(s.Fragment,{children:[(0,y.jsxs)("div",{style:{marginTop:10,border:"#c83b51 1px solid",borderRadius:3,padding:5,backgroundColor:"#c83b5120",color:"#c83b51"},children:["This will remove the object as well as all of its versions,"," ",(0,y.jsx)("br",{}),"This action is irreversible."]}),(0,y.jsx)("br",{}),"Are you sure you want to continue?"]})]})})},se=e=>{let{open:t,closeModalAndRefresh:n,objectName:o,bucketName:a,actualInfo:r}=e;const d=(0,l.jL)(),[u,p]=(0,s.useState)(!1),[j,b]=(0,s.useState)(!1),g=r.version_id;(0,s.useEffect)((()=>{const e=h()(r,"legal_hold_status","OFF");p("ON"===e)}),[r]);const f=()=>{p(!1)};return(0,y.jsx)(q.A,{title:"Set Legal Hold",modalOpen:t,onClose:()=>{f(),n(!1)},children:(0,y.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault(),b(!0),i.F.buckets.putObjectLegalHold(a,{prefix:(0,c.nf)(o),version_id:g||""},{status:u?K.SW.Enabled:K.SW.Disabled}).then((()=>{b(!1),n(!0)})).catch((e=>{d((0,O.Dy)((0,m.S)(e.error))),b(!1)}))})(e)},children:(0,y.jsxs)(x.Hbc,{withBorders:!1,containerPadding:!1,children:[(0,y.jsxs)(x.azJ,{className:"inputItem",children:[(0,y.jsx)("strong",{children:"Object"}),": ",a]}),(0,y.jsx)(x.dOG,{value:"legalhold",id:"legalhold",name:"legalhold",checked:u,onChange:e=>{p(!u)},label:"Legal Hold Status",indicatorLabels:["Enabled","Disabled"],tooltip:"To enable this feature you need to enable versioning on the bucket before creation"}),(0,y.jsxs)(x.xA9,{item:!0,xs:12,sx:W.Uz.modalButtonBar,children:[(0,y.jsx)(x.$nd,{id:"clear",type:"button",variant:"regular",onClick:f,label:"Clear"}),(0,y.jsx)(x.$nd,{id:"save",type:"submit",variant:"callAction",disabled:j,label:" Save"})]})]})})})},oe=f.Ay.b((e=>{let{theme:t}=e;return{color:h()(t,"signalColors.danger","#C83B51"),marginLeft:5}})),ae=e=>{var t;let{modalOpen:n,onCloseAndUpdate:a,bucketName:d,actualInfo:u}=e;const p=(0,l.jL)(),j=(0,o.d4)(O.Rq),[b,g]=(0,s.useState)(""),[f,v]=(0,s.useState)(""),[S,w]=(0,s.useState)(!1),[T,C]=(0,s.useState)(!1),[E,N]=(0,s.useState)(""),[A,I]=(0,s.useState)(""),k=(0,c.nf)(u.name||""),B=u.tags,F=Object.keys(B||{}),L=null===(t=u.name)||void 0===t?void 0:t.split("/"),V=(null===L||void 0===L?void 0:L.pop())||"",D=e=>(0,y.jsxs)(x.azJ,{sx:{fontSize:16,margin:"20px 0 30px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",width:"100%"},children:["Tag",e?"s":""," for: ",(0,y.jsx)("strong",{children:V})]});return(0,y.jsx)(s.Fragment,{children:(0,y.jsx)(q.A,{modalOpen:n,title:T?"Delete Tag":"Edit Tags",onClose:()=>{a(!0)},iconColor:T?"delete":"default",titleIcon:T?(0,y.jsx)(x.aaC,{}):(0,y.jsx)(x.cGQ,{}),children:T?(0,y.jsx)(s.Fragment,{children:(0,y.jsxs)(x.xA9,{container:!0,children:[D(!1),"Are you sure you want to delete the tag"," ",(0,y.jsxs)(oe,{children:[E," : ",A]})," ","?",(0,y.jsxs)(x.xA9,{item:!0,xs:12,sx:W.Uz.modalButtonBar,children:[(0,y.jsx)(x.$nd,{id:"cancel",type:"button",variant:"regular",onClick:()=>{N(""),I(""),C(!1)},label:"Cancel"}),(0,y.jsx)(x.$nd,{type:"submit",variant:"secondary",onClick:()=>{const e={...B};delete e[E];const t=j?u.version_id||"":"null";i.F.buckets.putObjectTags(d,{prefix:k,version_id:t},{tags:e}).then((()=>{a(!0),w(!1)})).catch((e=>{p((0,O.Dy)((0,m.S)(e.error))),w(!1)}))},id:"deleteTag",label:"Delete Tag"})]})]})}):(0,y.jsxs)(x.azJ,{children:[(0,y.jsx)(_.R,{scopes:[r.OV.S3_GET_OBJECT_TAGGING,r.OV.S3_GET_ACTIONS],resource:d,children:(0,y.jsxs)(x.azJ,{sx:{display:"flex",flexFlow:"column",width:"100%"},children:[D(!0),(0,y.jsxs)(x.azJ,{sx:{fontSize:14,fontWeight:"normal"},children:["Current Tags:",(0,y.jsx)("br",{}),0===F.length?(0,y.jsx)("span",{className:"muted",children:"There are no tags for this object"}):(0,y.jsx)(s.Fragment,{}),(0,y.jsx)(x.azJ,{sx:{marginTop:"5px",marginBottom:"15px"},children:F.map(((e,t)=>{const n=h()(B,"".concat(e),"");return""!==n?(0,y.jsx)(_.R,{scopes:[r.OV.S3_DELETE_OBJECT_TAGGING],resource:d,errorProps:{deleteIcon:null,onDelete:null},children:(0,y.jsx)(x.vwO,{id:"".concat(e," : ").concat(n),label:"".concat(e," : ").concat(n),variant:"regular",color:"default",onDelete:()=>{((e,t)=>{N(e),I(t),C(!0)})(e,n)}})},"chip-".concat(t)):null}))})]})]})}),(0,y.jsx)(_.R,{scopes:[r.OV.S3_PUT_OBJECT_TAGGING,r.OV.S3_PUT_ACTIONS],resource:d,errorProps:{disabled:!0,onClick:null},children:(0,y.jsxs)(x.azJ,{children:[(0,y.jsx)(x._xt,{icon:(0,y.jsx)(x.b_$,{}),separator:!1,children:"Add New Tag"}),(0,y.jsxs)(x.Hbc,{containerPadding:!1,withBorders:!1,children:[(0,y.jsx)(x.cl_,{value:b,label:"Tag Key",id:"newTagKey",name:"newTagKey",placeholder:"Enter Tag Key",onChange:e=>{g(e.target.value)}}),(0,y.jsx)(x.cl_,{value:f,label:"Tag Label",id:"newTagLabel",name:"newTagLabel",placeholder:"Enter Tag Label",onChange:e=>{v(e.target.value)}}),(0,y.jsxs)(x.xA9,{item:!0,xs:12,sx:W.Uz.modalButtonBar,children:[(0,y.jsx)(x.$nd,{id:"clear",type:"button",variant:"regular",color:"primary",onClick:()=>{v(""),g("")},label:"Clear"}),(0,y.jsx)(x.$nd,{type:"submit",variant:"callAction",disabled:""===f.trim()||""===b.trim()||S,onClick:()=>{w(!0);const e={};e[b]=f;const t={...B,...e},n=j?u.version_id||"":"null";i.F.buckets.putObjectTags(d,{prefix:k,version_id:n},{tags:t}).then((()=>{a(!0),w(!1)})).catch((e=>{p((0,O.Dy)((0,m.S)(e.error))),w(!1)}))},id:"saveTag",label:"Save"})]})]})]})})]})})})};var ie=n(49501);const le=e=>{let{closeInspectModalAndRefresh:t,inspectOpen:n,inspectPath:o,volumeName:a}=e;const i=(0,l.jL)(),r=()=>t(!1),[d,u]=(0,s.useState)(!0),[h,m]=(0,s.useState)(""),[p,j]=(0,s.useState)("");if(!o)return null;return(0,y.jsxs)(s.Fragment,{children:[!h&&(0,y.jsx)(q.A,{modalOpen:n,titleIcon:(0,y.jsx)(x.nTF,{}),title:"Inspect Object",onClose:r,children:(0,y.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault()})(e)},children:["Would you like to encrypt ",(0,y.jsx)("b",{children:(0,c.x6)(o)}),"?"," ",(0,y.jsx)("br",{}),(0,y.jsx)(x.dOG,{label:"Encrypt",indicatorLabels:["Yes","No"],checked:d,value:"encrypt",id:"encrypt",name:"encrypt",onChange:e=>{u(!d)},description:""}),(0,y.jsx)(x.xA9,{item:!0,xs:12,sx:W.Uz.modalButtonBar,children:(0,y.jsx)(x.$nd,{id:"inspect",type:"submit",variant:"callAction",color:"primary",onClick:async()=>{const e=(0,c.nf)(o+"/xl.meta"),t=(0,c.nf)(a);let n=document.baseURI.replace(window.location.origin,"");(async e=>await fetch(e,{method:"GET"}))("".concat(window.location.origin).concat(n,"/api/v1/admin/inspect?volume=").concat(t,"&file=").concat(e,"&encrypt=").concat(d)).then((async e=>{if(!e.ok){const t=await e.json();i((0,O.C9)({errorMessage:t.message,detailedError:t.code}))}const t=await e.blob(),n=e.headers.get("content-disposition").split('"')[1],s=(0,c.UM)(n)||"";(0,c.OT)(t,n),j(n),""!==s?m(s):r()})).catch((e=>{i((0,O.C9)(e))}))},label:"Inspect"})})]})}),h?(0,y.jsxs)(q.A,{modalOpen:n,title:"Inspect Decryption Key",onClose:()=>{(0,c.Yj)(p),r(),m("")},titleIcon:(0,y.jsx)(x.aJN,{}),children:[(0,y.jsxs)(x.azJ,{children:["This will be displayed only once. It cannot be recovered.",(0,y.jsx)("br",{}),"Use secure medium to share this key."]}),(0,y.jsx)(x.azJ,{children:(0,y.jsx)(ie.A,{value:h})})]}):null]})},re=e=>{let{open:t,closeModal:n,currentItem:o,internalPaths:a,actualInfo:i,bucketName:r}=e;const c=(0,l.jL)(),[d,u]=(0,s.useState)(o),[h,m]=(0,s.useState)(!1);return(0,y.jsxs)(q.A,{title:"Rename Download",modalOpen:t,onClose:n,titleIcon:(0,y.jsx)(x.qUP,{}),children:[(0,y.jsxs)("div",{children:["The file you are trying to download has a long name.",(0,y.jsx)("br",{}),"This can cause issues on Windows Systems by trimming the file name after download.",(0,y.jsx)("br",{}),(0,y.jsx)("br",{})," We recommend to rename the file download"]}),(0,y.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault(),(0,P._)(c,r,a,i),n()})(e)},children:(0,y.jsxs)(x.Hbc,{withBorders:!1,containerPadding:!1,children:[(0,y.jsx)(x.cl_,{id:"download-filename",name:"download-filename",onChange:e=>{u(e.target.value)},label:"",type:"text",value:d,error:d.length>200&&!h?"Filename should be less than 200 characters long.":""}),(0,y.jsx)(x.dOG,{value:"acceptLongName",id:"acceptLongName",name:"acceptLongName",checked:h,onChange:e=>{m(e.target.checked),e.target.checked&&u(o)},label:"Use Original Name"}),(0,y.jsx)(x.xA9,{item:!0,xs:12,sx:W.Uz.modalButtonBar,children:(0,y.jsx)(x.$nd,{id:"download-file",type:"submit",variant:"callAction",color:"primary",disabled:d.length>200&&!h,label:"Download File"})})]})})]})},ce={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:0,tags:{},version_id:void 0},de=e=>{let{internalPaths:t,bucketName:n,versioningInfo:a,locking:u,onClosePanel:m}=e;const p=(0,l.jL)(),j=(0,o.d4)(O.Rq),b=(0,o.d4)((e=>e.objectBrowser.versionsMode)),g=(0,o.d4)((e=>e.objectBrowser.selectedVersion)),f=(0,o.d4)((e=>e.objectBrowser.loadingObjectInfo)),[v,S]=(0,s.useState)(!1),[w,T]=(0,s.useState)(!1),[C,E]=(0,s.useState)(!1),[N,I]=(0,s.useState)(!1),[k,B]=(0,s.useState)(!1),[F,V]=(0,s.useState)(null),[D,R]=(0,s.useState)([]),[U,K]=(0,s.useState)(null),[W,H]=(0,s.useState)([]),[Y,$]=(0,s.useState)(!1),[Z,q]=(0,s.useState)(!1),[Q,ee]=(0,s.useState)(0),[te,oe]=(0,s.useState)(!1),[ie,de]=(0,s.useState)(null),[ue,he]=(0,s.useState)(!1),xe=((0,c.x6)(t)||"").split("/").pop()||"";let me=[];F&&F.name&&(me=F.name.split("/")),(0,s.useEffect)((()=>{if(j&&D&&D.length>=1){let e=D.find((e=>e.is_latest))||ce;""!==g&&(e=D.find((e=>e.version_id===g))||ce),e.is_delete_marker||he(!0),V(e)}}),[g,j,D]),(0,s.useEffect)((()=>{f&&""!==t&&i.F.buckets.listObjects(n,{prefix:t,with_versions:j}).then((e=>{const t=e.data.objects||[];if(j){R(t),H(t);const e=t.reduce(((e,t)=>null!==t&&void 0!==t&&t.size?e+t.size:e),0);ee(e)}else{const e=t[0];V(e),H([]),e.is_delete_marker||he(!0)}p((0,d.oe)(!1))})).catch((e=>{console.error("Error loading object details",e.error),p((0,d.oe)(!1))}))}),[f,n,t,p,j,g]),(0,s.useEffect)((()=>{ue&&""!==t&&i.F.buckets.getObjectMetadata(n,{prefix:t,versionID:(null===F||void 0===F?void 0:F.version_id)||""}).then((e=>{let t=h()(e.data,"objectMetadata",{});de(t),he(!1)})).catch((e=>{console.error("Error Getting Metadata Status: ",e.detailedError),he(!1)}))}),[n,t,ue,null===F||void 0===F?void 0:F.version_id]);let pe=[];F&&F.tags&&(pe=Object.keys(F.tags));const je=(0,y.jsx)("div",{style:{textAlign:"center",marginTop:35},children:(0,y.jsx)(x.aHM,{})});if(!F)return f?je:null;const be=me.length>0?me[me.length-1]:F.name,ge=[n,xe,[n,F.name].join("/")],fe=(0,_._)(n,[r.OV.S3_PUT_OBJECT_LEGAL_HOLD,r.OV.S3_PUT_ACTIONS]),ve=(0,_._)(ge,[r.OV.S3_PUT_OBJECT_TAGGING,r.OV.S3_PUT_ACTIONS]),_e=(0,_._)(ge,[r.OV.S3_GET_OBJECT_RETENTION,r.OV.S3_PUT_OBJECT_RETENTION,r.OV.S3_GET_ACTIONS,r.OV.S3_PUT_ACTIONS],!0),Se=(0,_._)(ge,[r.OV.ADMIN_INSPECT_DATA]),Oe=(0,_._)(ge,[r.OV.S3_GET_BUCKET_VERSIONING,r.OV.S3_PUT_BUCKET_VERSIONING,r.OV.S3_GET_OBJECT_VERSION,r.OV.S3_GET_ACTIONS,r.OV.S3_PUT_ACTIONS]),we=(0,_._)(ge,[r.OV.S3_GET_OBJECT,r.OV.S3_GET_ACTIONS]),Te=(0,_._)([n,xe,[n,F.name].join("/")],[r.OV.S3_DELETE_OBJECT]);let ye=(0,A.IZ)(ie,xe);const Ce=[{action:()=>{(0,P._)(p,n,t,F)},label:"Download",disabled:!!F.is_delete_marker||!we,icon:(0,y.jsx)(x.s3U,{}),tooltip:we?"Download this Object":(0,r.vj)([r.OV.S3_GET_OBJECT,r.OV.S3_GET_ACTIONS],"download this object")},{action:()=>{S(!0)},label:"Share",disabled:!!F.is_delete_marker||!we,icon:(0,y.jsx)(x.liv,{}),tooltip:we?"Share this File":(0,r.vj)([r.OV.S3_GET_OBJECT,r.OV.S3_GET_ACTIONS],"share this object")},{action:()=>{q(!0)},label:"Preview",disabled:!!F.is_delete_marker||"none"===ye&&!we,icon:(0,y.jsx)(x.cyn,{}),tooltip:we?"Preview this File":(0,r.vj)([r.OV.S3_GET_OBJECT,r.OV.S3_GET_ACTIONS],"preview this object")},{action:()=>{I(!0)},label:"Legal Hold",disabled:!u||!j||!!F.is_delete_marker||!fe||""!==g,icon:(0,y.jsx)(x.ODz,{}),tooltip:fe?u?"Change Legal Hold rules for this File":"Object Locking must be enabled on this bucket in order to set Legal Hold":(0,r.vj)([r.OV.S3_PUT_OBJECT_LEGAL_HOLD,r.OV.S3_PUT_ACTIONS],"change legal hold settings for this object")},{action:()=>{T(!0)},label:"Retention",disabled:!j||!!F.is_delete_marker||!_e||""!==g||!u,icon:(0,y.jsx)(x.gn6,{}),tooltip:_e?u?"Change Retention rules for this File":"Object Locking must be enabled on this bucket in order to set Retention Rules":(0,r.vj)([r.OV.S3_GET_OBJECT_RETENTION,r.OV.S3_PUT_OBJECT_RETENTION,r.OV.S3_GET_ACTIONS,r.OV.S3_PUT_ACTIONS],"change Retention Rules for this object")},{action:()=>{E(!0)},label:"Tags",disabled:!!F.is_delete_marker||""!==g||!ve,icon:(0,y.jsx)(x.P3Z,{}),tooltip:ve?"Change Tags for this File":(0,r.vj)([r.OV.S3_PUT_OBJECT_TAGGING,r.OV.S3_GET_OBJECT_TAGGING,r.OV.S3_GET_ACTIONS,r.OV.S3_PUT_ACTIONS],"set Tags on this object")},{action:()=>{B(!0)},label:"Inspect",disabled:!j||!!F.is_delete_marker||""!==g||!Se,icon:(0,y.jsx)(x.nTF,{}),tooltip:Se?"Inspect this file":(0,r.vj)([r.OV.ADMIN_INSPECT_DATA],"inspect this file")},{action:()=>{p((0,d.cQ)({status:!b,objectName:be}))},label:b?"Hide Object Versions":"Display Object Versions",icon:(0,y.jsx)(x.j1U,{}),disabled:!j||!(F.version_id&&"null"!==F.version_id)||!Oe,tooltip:Oe?F.version_id&&"null"!==F.version_id?"Display Versions for this file":"":(0,r.vj)([r.OV.S3_GET_BUCKET_VERSIONING,r.OV.S3_PUT_BUCKET_VERSIONING,r.OV.S3_GET_OBJECT_VERSION,r.OV.S3_GET_ACTIONS,r.OV.S3_PUT_ACTIONS],"display all versions of this object")}];return(0,y.jsxs)(s.Fragment,{children:[v&&F&&(0,y.jsx)(J.default,{open:v,closeModalAndRefresh:()=>{K(null),S(!1)},bucketName:n,dataObject:U||F}),w&&F&&(0,y.jsx)(X,{open:w,closeModalAndRefresh:e=>{T(!1),e&&p((0,d.oe)(!0))},objectName:xe,objectInfo:F,bucketName:n}),Y&&(0,y.jsx)(ne,{deleteOpen:Y,selectedBucket:n,selectedObject:t,closeDeleteModalAndRefresh:e=>{$(!1),e&&""===g?m(!0):(p((0,d.SK)(!0)),p((0,d.Ai)("")),p((0,d.oe)(!0)))},versioningInfo:j?a:void 0,selectedVersion:g}),N&&F&&(0,y.jsx)(se,{open:N,closeModalAndRefresh:e=>{I(!1),e&&p((0,d.oe)(!0))},objectName:F.name||"",bucketName:n,actualInfo:F}),Z&&F&&(0,y.jsx)(G.default,{open:Z,bucketName:n,actualInfo:F,onClosePreview:()=>{q(!1)}}),C&&F&&(0,y.jsx)(ae,{modalOpen:C,bucketName:n,actualInfo:F,onCloseAndUpdate:e=>{E(!1),e&&p((0,d.oe)(!0))}}),k&&F&&(0,y.jsx)(le,{inspectOpen:k,volumeName:n,inspectPath:F.name||"",closeInspectModalAndRefresh:e=>{B(!1),e&&p((0,d.oe)(!0))}}),te&&F&&(0,y.jsx)(re,{open:te,closeModal:()=>{oe(!1)},currentItem:xe,bucketName:n,internalPaths:t,actualInfo:F}),f?(0,y.jsx)(s.Fragment,{children:je}):(0,y.jsxs)(x.azJ,{sx:{"& .ObjectDetailsTitle":{display:"flex",alignItems:"center","& .min-icon":{width:26,height:26,minWidth:26,minHeight:26}},"& .objectNameContainer":{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",alignItems:"center",marginLeft:10},"& .capitalizeFirst":{textTransform:"capitalize"},"& .detailContainer":{padding:"0 22px",marginBottom:10,fontSize:14}},children:[(0,y.jsx)(x.Smc,{title:(0,y.jsxs)("div",{className:"ObjectDetailsTitle",children:[z(be||"",!0),(0,y.jsx)("span",{className:"objectNameContainer",children:be})]}),items:Ce}),(0,y.jsx)(L.A,{tooltip:Te?"":(0,r.vj)([r.OV.S3_DELETE_OBJECT],"delete this object"),children:(0,y.jsx)(x.xA9,{item:!0,xs:12,sx:{justifyContent:"center",display:"flex"},children:(0,y.jsx)(_.R,{resource:[n,xe,[n,F.name].join("/")],scopes:[r.OV.S3_DELETE_OBJECT],errorProps:{disabled:!0},children:(0,y.jsx)(x.$nd,{id:"delete-element-click",icon:(0,y.jsx)(x.d7y,{}),iconLocation:"start",fullWidth:!0,variant:"secondary",onClick:()=>{$(!0)},disabled:""===g&&F.is_delete_marker,sx:{width:"calc(100% - 44px)",margin:"8px 0"},label:"Delete".concat(""!==g?" version":"")})})})}),(0,y.jsx)(x.kCK,{icon:(0,y.jsx)(x.Hch,{}),label:"Object Info"}),(0,y.jsxs)(x.azJ,{className:"detailContainer",children:[(0,y.jsx)("strong",{children:"Name:"}),(0,y.jsx)("br",{}),(0,y.jsx)("div",{style:{overflowWrap:"break-word"},children:be})]}),""!==g&&(0,y.jsxs)(x.azJ,{className:"detailContainer",children:[(0,y.jsx)("strong",{children:"Version ID:"}),(0,y.jsx)("br",{}),g]}),(0,y.jsxs)(x.azJ,{className:"detailContainer",children:[(0,y.jsx)("strong",{children:"Size:"}),(0,y.jsx)("br",{}),(0,c.nO)("".concat(F.size||"0"))]}),F.version_id&&"null"!==F.version_id&&""===g&&(0,y.jsxs)(x.azJ,{className:"detailContainer",children:[(0,y.jsx)("strong",{children:"Versions:"}),(0,y.jsx)("br",{}),W.length," version",1!==W.length?"s":"",","," ",(0,c.qO)(Q)]}),""===g&&(0,y.jsxs)(x.azJ,{className:"detailContainer",children:[(0,y.jsx)("strong",{children:"Last Modified:"}),(0,y.jsx)("br",{}),(e=>{const t=new Date,n=new Date(e),s=t.getTime()-n.getTime(),o=(0,c.eQ)(s,"ms");return""!==o.trim()?"".concat(o," ago"):"Just now"})(F.last_modified||"")]}),(0,y.jsxs)(x.azJ,{className:"detailContainer",children:[(0,y.jsx)("strong",{children:"ETAG:"}),(0,y.jsx)("br",{}),F.etag||"N/A"]}),(0,y.jsxs)(x.azJ,{className:"detailContainer",children:[(0,y.jsx)("strong",{children:"Tags:"}),(0,y.jsx)("br",{}),0===pe.length?"N/A":pe.map(((e,t)=>(0,y.jsxs)("span",{children:[e,":",h()(F,"tags.".concat(e),""),t{let{versionToRestore:t,bucketName:n,objectPath:o,restoreOpen:a,onCloseAndUpdate:r}=e;const u=(0,l.jL)(),[h,p]=(0,s.useState)(!1);return(0,y.jsx)(ee.A,{title:"Restore File Version",confirmText:"Restore",isOpen:a,isLoading:h,titleIcon:(0,y.jsx)(x.YkU,{}),onConfirm:()=>{p(!0),i.F.buckets.putObjectRestore(n,{prefix:(0,c.nf)(o),version_id:t.version_id||""}).then((()=>{p(!1),r(!0),u((0,d.NV)({prefix:o,objectInfo:t}))})).catch((e=>{u((0,O.C9)((0,m.S)(e.error))),p(!1)}))},confirmButtonProps:{variant:"secondary",disabled:h},onClose:()=>{r(!1)},confirmationContent:(0,y.jsxs)(x.azJ,{id:"alert-dialog-description",children:["Are you sure you want to restore ",(0,y.jsx)("br",{}),(0,y.jsx)("b",{children:o})," ",(0,y.jsx)("br",{})," with Version ID:",(0,y.jsx)("br",{}),(0,y.jsx)("b",{children:t.version_id}),"?"]})})},he=e=>{let{type:t}=e,n="#000",s="";switch(t){case"null":n="#07193E",s="NULL VERSION";break;case"deleted":n="#868686",s="DELETED";break;default:n="#174551",s="CURRENT VERSION"}return(0,y.jsx)("span",{style:{backgroundColor:n,padding:"0 5px",display:"inline-block",color:"#FFF",fontWeight:"bold",fontSize:12,borderRadius:2,whiteSpace:"nowrap",margin:"0 10px"},children:s})},xe=f.Ay.div((e=>{let{theme:t}=e;return{"&:before":{content:"' '",display:"block",position:"absolute",width:"2px",height:"calc(100% + 2px)",backgroundColor:h()(t,"borderColor","#F8F8F8"),left:"24px"},"& .mainFileVersionItem":{borderBottom:"".concat(h()(t,"borderColor","#F8F8F8")," 1px solid"),padding:"1rem 0",margin:"0 0.5rem 0 2.5rem",cursor:"pointer","&.deleted":{color:"#868686"}},"& .intermediateLayer":{margin:"0 1.5rem 0 1.5rem","&:hover, &.selected":{backgroundColor:h()(t,"boxBackground","#F8F8F8"),"& > div":{borderBottomColor:h()(t,"boxBackground","#F8F8F8")}}},"& .versionContainer":{fontSize:16,fontWeight:"bold",display:"flex",alignItems:"center","& svg.min-icon":{width:18,height:18,minWidth:18,minHeight:18,marginRight:10}},"& .buttonContainer":{textAlign:"right","& button":{marginLeft:"1.5rem"}},"& .versionID":{fontSize:"12px",margin:"2px 0",whiteSpace:"nowrap",textOverflow:"ellipsis",maxWidth:"95%",overflow:"hidden"},"& .versionData":{marginRight:"10px",fontSize:12,color:"#868686"},"@media (max-width: 600px)":{"& .buttonContainer":{"& button":{marginLeft:"5px"}}},"@media (max-width: 799px)":{"&:before":{display:"none"},"& .mainFileVersionItem":{padding:"5px 0px",margin:0},"& .intermediateLayer":{margin:0,"&:hover, &.selected":{backgroundColor:"transparent","& > div":{borderBottomColor:h()(t,"boxBackground","#F8F8F8")}}},"& .versionContainer":{fontSize:14,"& svg.min-icon":{display:"none"}},"& .versionData":{textOverflow:"ellipsis",maxWidth:"95%",overflow:"hidden",whiteSpace:"nowrap"},"& .collapsableInfo":{display:"flex",flexDirection:"column"},"& .versionItem":{display:"none"}}}})),me=e=>{let{fileName:t,versionInfo:n,isSelected:s,checkable:o,isChecked:a,onCheck:i,onShare:l,onDownload:r,onRestore:d,onPreview:u,globalClick:h,index:m,key:p,style:b}=e;const g=n.is_delete_marker,f=[{icon:(0,y.jsx)(x.cyn,{}),action:u,tooltip:"Preview"},{icon:(0,y.jsx)(x.s3U,{}),action:r,tooltip:"Download this version"},{icon:(0,y.jsx)(x.liv,{}),action:l,tooltip:"Share this version"},{icon:(0,y.jsx)(x.YkU,{}),action:d,tooltip:"Restore this version"}];let v=null;n.is_delete_marker?v="deleted":n.is_latest?v="current":"null"===n.version_id&&(v="null");let _=j.c9.now();return n.last_modified&&(_=j.c9.fromISO(n.last_modified)),(0,y.jsx)(xe,{children:(0,y.jsx)(x.xA9,{container:!0,className:"ctrItem",onClick:()=>{h(n)},style:b,children:(0,y.jsx)(x.xA9,{item:!0,xs:12,className:"intermediateLayer".concat(" ",s?"selected":""),children:(0,y.jsxs)(x.xA9,{item:!0,xs:!0,className:"mainFileVersionItem ".concat(n.is_delete_marker?"deleted":""),children:[(0,y.jsx)(x.xA9,{item:!0,xs:12,children:(0,y.jsxs)(x.xA9,{container:!0,children:[(0,y.jsxs)(x.xA9,{item:!0,xs:!0,md:4,className:"versionContainer",children:[o&&(0,y.jsx)(x.Sc0,{checked:a,id:"select-".concat(n.version_id),name:"select-".concat(n.version_id),onChange:e=>{e.stopPropagation(),i(n.version_id||"")},value:n.version_id||"",disabled:n.is_delete_marker,sx:{width:"initial"}}),z(t,!0)," v",m.toString(),(0,y.jsx)("span",{className:"versionItem",children:v&&(0,y.jsx)(he,{type:v})})]}),(0,y.jsx)(x.xA9,{item:!0,xs:10,md:8,className:"buttonContainer",children:f.map(((e,t)=>(0,y.jsx)(x.m_M,{tooltip:e.tooltip,children:(0,y.jsx)(x.K0,{size:"small",id:"version-action-".concat(e.tooltip,"-").concat(t.toString()),className:"spacing".concat(" ",g?"buttonDisabled":""),disabled:g,onClick:t=>{t.stopPropagation(),g?t.preventDefault():e.action(n)},sx:{backgroundColor:"#F8F8F8",borderRadius:"100%",width:"28px",height:"28px",padding:"5px","& .min-icon":{width:"14px",height:"14px"}},children:e.icon})},"version-action-".concat(e.tooltip,"-").concat(t.toString()))))})]})}),(0,y.jsx)(x.xA9,{item:!0,xs:12,className:"versionID",children:"null"!==n.version_id?n.version_id:"-"}),(0,y.jsxs)(x.xA9,{item:!0,xs:12,className:"collapsableInfo",children:[(0,y.jsxs)("span",{className:"versionData",children:[(0,y.jsx)("strong",{children:"Last modified:"})," ",_.toFormat("ccc, LLL dd yyyy HH:mm:ss (ZZZZ)")]}),(0,y.jsxs)("span",{className:"versionData",children:[(0,y.jsx)("strong",{children:"Size:"})," ",(0,c.nO)("".concat(n.size||"0"))]})]})]})})},p)})},pe=e=>{let{closeDeleteModalAndRefresh:t,deleteOpen:n,selectedBucket:a,selectedObject:d}=e;const u=(0,l.jL)(),[h,p]=(0,s.useState)(!1),[j,b]=(0,s.useState)(""),[g,f]=(0,s.useState)(!1),v=(0,o.d4)((e=>e.objectBrowser.retentionConfig)),S=(0,_._)([a],[r.OV.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===v||void 0===v?void 0:v.mode);if((0,s.useEffect)((()=>{h&&i.F.buckets.deleteObject(a,{prefix:d,non_current_versions:!0,bypass:g}).then((()=>{t(!0)})).catch((e=>{u((0,O.C9)((0,m.S)(e.error))),p(!1)}))}),[h,t,u,d,a,g]),!d)return null;return(0,y.jsx)(ee.A,{title:"Delete Non-Current versions",confirmText:"Delete",isOpen:n,titleIcon:(0,y.jsx)(x.xWY,{}),isLoading:h,onConfirm:()=>{p(!0)},onClose:()=>t(!1),confirmButtonProps:{disabled:"YES, PROCEED"!==j||h},confirmationContent:(0,y.jsxs)(s.Fragment,{children:["Are you sure you want to delete all the non-current versions for:"," ",(0,y.jsx)("b",{children:(0,c.x6)(d)}),"? ",(0,y.jsx)("br",{}),S&&(0,y.jsx)(s.Fragment,{children:(0,y.jsx)("div",{style:{marginTop:10},children:(0,y.jsx)(x.dOG,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:g,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:e=>{f(!g)},description:""})})}),(0,y.jsx)("br",{}),"To continue please type ",(0,y.jsx)("b",{children:"YES, PROCEED"})," in the box.",(0,y.jsx)("br",{}),(0,y.jsx)("br",{}),(0,y.jsx)(x.xA9,{item:!0,xs:12,children:(0,y.jsx)(x.cl_,{id:"type-confirm",name:"retype-tenant",onChange:e=>{b(e.target.value)},label:"",value:j})})]})})},je=e=>{let{closeDeleteModalAndRefresh:t,deleteOpen:n,selectedBucket:a,selectedVersions:c,selectedObject:d}=e;const u=(0,l.jL)(),[h,p]=(0,s.useState)(!1),[j,b]=(0,s.useState)(!1),g=(0,o.d4)((e=>e.objectBrowser.retentionConfig)),f=(0,_._)([a],[r.OV.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===g||void 0===g?void 0:g.mode);return(0,s.useEffect)((()=>{if(h){const e=c.map((e=>({path:d,versionID:e,recursive:!1})));e.length>0&&i.F.buckets.deleteMultipleObjects(a,e,{all_versions:!1,bypass:j}).then((()=>{p(!1),t(!0)})).catch((e=>{u((0,O.C9)((0,m.S)(e.error))),p(!1)}))}}),[h,t,a,d,c,j,u]),c?(0,y.jsx)(ee.A,{title:"Delete Selected Versions",confirmText:"Delete",isOpen:n,titleIcon:(0,y.jsx)(x.xWY,{}),isLoading:h,onConfirm:()=>{p(!0)},onClose:()=>t(!1),confirmationContent:(0,y.jsxs)(s.Fragment,{children:["Are you sure you want to delete the selected ",c.length," ","versions for ",(0,y.jsx)("strong",{children:d}),"?",f&&(0,y.jsx)(s.Fragment,{children:(0,y.jsx)("div",{style:{marginTop:10},children:(0,y.jsx)(x.dOG,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:j,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:e=>{b(!j)},description:""})})})]})}):null};var be=n(95098);const ge={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:0,tags:{},version_id:void 0},fe=e=>{let{internalPaths:t,bucketName:n}=e;const a=(0,l.jL)(),r=(0,o.d4)((e=>e.objectBrowser.searchVersions)),u=(0,o.d4)((e=>e.objectBrowser.loadingVersions)),p=(0,o.d4)((e=>e.objectBrowser.selectedVersion)),j=(0,o.d4)(O.Rq),[b,g]=(0,s.useState)(!1),[f,v]=(0,s.useState)(null),[_,S]=(0,s.useState)(null),[w,T]=(0,s.useState)([]),[C,E]=(0,s.useState)(!1),[A,I]=(0,s.useState)(null),[k,B]=(0,s.useState)("date"),[F,V]=(0,s.useState)(!1),[D,R]=(0,s.useState)(!1),[U,z]=(0,s.useState)(!1),[M,K]=(0,s.useState)([]),[W,H]=(0,s.useState)(!1);let Y=[];f&&f.name&&(Y=f.name.split("/")),(0,s.useEffect)((()=>{u||f||a((0,d.SK)(!0))}),[u,f,a]),(0,s.useEffect)((()=>{u&&""!==t&&i.F.buckets.listObjects(n,{prefix:t,with_versions:j}).then((e=>{const n=h()(e.data,"objects",[]),s=(0,c.x6)(t),o=n.filter((e=>e.name===s));j?(v(o.find((e=>e.is_latest))||ge),T(o)):(v(o[0]),T([])),a((0,d.SK)(!1))})).catch((e=>{a((0,O.C9)((0,m.S)(e.error))),a((0,d.SK)(!1))}))}),[u,n,t,a,j]);const $=e=>{S(e),g(!0)},Z=e=>{S(e),V(!0)},q=e=>{I(e),E(!0)},Q=e=>{(0,P._)(a,n,t,e)},X=e=>{a((0,d.Ai)(e.version_id||""))},ee=w.filter((e=>!!e.version_id&&e.version_id.includes(r))),te=w.reduce(((e,t)=>t.size?e+t.size:e),0);ee.sort(((e,t)=>{if("size"===k)return e.size&&t.size?e.sizet.size?1:0:0;{const n=new Date(e.last_modified||"").getTime(),s=new Date(t.last_modified||"").getTime();return ns?-1:0}}));const ne=e=>{if(M.includes(e)){const t=M.filter((t=>t!==e));return void K(t)}const t=[...M];t.push(e),K(t)};return(0,y.jsxs)(s.Fragment,{children:[b&&f&&(0,y.jsx)(J.default,{open:b,closeModalAndRefresh:()=>{S(null),g(!1),V(!1)},bucketName:n,dataObject:_||f}),C&&f&&A&&(0,y.jsx)(ue,{restoreOpen:C,bucketName:n,versionToRestore:A,objectPath:f.name||"",onCloseAndUpdate:e=>{E(!1),I(null),e&&(a((0,d.SK)(!0)),a((0,d.oe)(!0)))}}),F&&f&&(0,y.jsx)(G.default,{open:F,bucketName:n,actualInfo:{name:f.name||"",version_id:_&&_.version_id?_.version_id:"null",size:_&&_.size?_.size:0,content_type:"",last_modified:f.last_modified||""},onClosePreview:()=>{V(!1)}}),D&&(0,y.jsx)(pe,{deleteOpen:D,closeDeleteModalAndRefresh:e=>{R(!1),e&&(a((0,d.SK)(!0)),a((0,d.Ai)("")),a((0,d.oe)(!0)))},selectedBucket:n,selectedObject:t}),W&&(0,y.jsx)(je,{selectedBucket:n,selectedObject:(0,c.x6)(t),deleteOpen:W,selectedVersions:M,closeDeleteModalAndRefresh:e=>{H(!1),e&&(a((0,d.SK)(!0)),a((0,d.Ai)("")),a((0,d.oe)(!0)),K([]))}}),(0,y.jsxs)(x.xA9,{container:!0,sx:{width:"100%",padding:10,"@media (max-width: 799px)":{minHeight:800}},children:[!f&&(0,y.jsx)(x.xA9,{item:!0,xs:12,children:(0,y.jsx)(x.z21,{})}),f&&(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)(x.xA9,{item:!0,xs:12,children:(0,y.jsx)(N,{bucketName:n,internalPaths:(0,c.x6)(t),hidePathButton:!0})}),(0,y.jsx)(x.xA9,{item:!0,xs:12,sx:{position:"relative","& .detailsSpacer":{marginRight:18,"@media (max-width: 600px)":{marginRight:0}},["@media (max-width: ".concat(x.nmC.md,"px)")]:{"&::before":{display:"none"}}},children:(0,y.jsx)(x.lcx,{icon:(0,y.jsx)("span",{style:{display:"block",marginTop:"-10px"},children:(0,y.jsx)(x.j1U,{style:{width:20,height:20}})}),title:"".concat(Y.length>0?Y[Y.length-1]:f.name," Versions"),subTitle:(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)("span",{className:"detailsSpacer",children:(0,y.jsxs)("strong",{children:[w.length," Version",1===w.length?"":"s","\xa0\xa0\xa0"]})}),(0,y.jsx)("span",{className:"detailsSpacer",children:(0,y.jsx)("strong",{children:(0,c.qO)(te)})})]}),actions:(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)(L.A,{tooltip:"Select Multiple Versions",children:(0,y.jsx)(x.$nd,{id:"select-multiple-versions",onClick:()=>{z(!U)},icon:(0,y.jsx)(x.IN,{}),variant:U?"callAction":"regular",style:{marginRight:8}})}),U&&(0,y.jsx)(L.A,{tooltip:"Delete Selected Versions",children:(0,y.jsx)(x.$nd,{id:"delete-multiple-versions",onClick:()=>{H(!0)},icon:(0,y.jsx)(x.d7y,{}),variant:"secondary",style:{marginRight:8},disabled:0===M.length})}),(0,y.jsx)(L.A,{tooltip:"Delete Non Current Versions",children:(0,y.jsx)(x.$nd,{id:"delete-non-current",onClick:()=>{R(!0)},icon:(0,y.jsx)(x.rgY,{}),variant:"secondary",style:{marginRight:15},disabled:w.length<=1})}),(0,y.jsx)(x.l6P,{id:"sort-by",options:[{label:"Date",value:"date"},{label:"Size",value:"size"}],value:k,label:"Sort by",onChange:e=>{B(e)},noLabelMinWidth:!0})]}),bottomBorder:!1})}),(0,y.jsx)(x.xA9,{item:!0,xs:12,sx:{flexGrow:1,height:"calc(100% - 120px)",overflow:"auto",["@media (max-width: ".concat(x.nmC.md,"px)")]:{height:600}},children:f.version_id&&"null"!==f.version_id&&(0,y.jsx)(be.B8,{style:{width:"100%"},containerStyle:{width:"100%",maxWidth:"100%"},width:1,height:800,rowCount:ee.length,rowHeight:108,rowRenderer:e=>{let{key:t,index:n,isScrolling:s,isVisible:o,style:a}=e;const i=w.length-n;return(0,y.jsx)(me,{style:a,fileName:(null===f||void 0===f?void 0:f.name)||"",versionInfo:ee[n],index:i,onDownload:Q,onRestore:q,onShare:$,onPreview:Z,globalClick:X,isSelected:p===ee[n].version_id,checkable:U,onCheck:ne,isChecked:M.includes(ee[n].version_id||"")},t)}})})]})]})]})},ve=e=>{if(e.name.endsWith("/"))return"";const t=j.c9.now(),n=j.c9.fromISO(e.last_modified);return t.hasSame(n,"day")&&t.hasSame(n,"month")&&t.hasSame(n,"year")?"Today, ".concat(n.toFormat("HH:mm")):n.toFormat("ccc, LLL dd yyyy HH:mm (ZZZZ)")},_e=e=>e.name.endsWith("/")||!e.size?"-":(0,c.nO)(String(e.size)),Se=[{label:"Name",elementKey:"name",renderFunction:z,enableSort:!0},{label:"Last Modified",elementKey:"last_modified",renderFunction:ve,renderFullObject:!0,enableSort:!0},{label:"Size",elementKey:"size",renderFunction:_e,renderFullObject:!0,width:100,enableSort:!0}],Oe=[{label:"Name",elementKey:"name",renderFunction:z,enableSort:!0},{label:"Object Date",elementKey:"last_modified",renderFunction:ve,renderFullObject:!0,enableSort:!0},{label:"Size",elementKey:"size",renderFunction:_e,renderFullObject:!0,width:100,enableSort:!0},{label:"Deleted",elementKey:"delete_flag",renderFunction:e=>e?"Yes":"No",width:60}];var we=n(46537);const Te=()=>{const e=(0,l.jL)(),t=(0,a.g)(),n=(0,a.Zp)(),[i,u]=(0,s.useState)("ASC"),[m,p]=(0,s.useState)("name"),j=t.bucketName||"",b=(0,o.d4)((e=>e.objectBrowser.objectDetailsOpen)),g=(0,o.d4)((e=>e.objectBrowser.requestInProgress)),f=(0,o.d4)(we.s$),v=!(null===f||void 0===f||!f.includes("object-browser-only")),S=(0,o.d4)((e=>e.objectBrowser.rewind.rewindEnabled)),O=(0,o.d4)((e=>e.objectBrowser.records)),w=(0,o.d4)((e=>e.objectBrowser.searchObjects)),T=(0,o.d4)((e=>e.objectBrowser.selectedObjects)),C=(0,o.d4)((e=>e.objectBrowser.connectionError)),E=(0,o.d4)((e=>e.system.anonymousMode)),N=(0,_._)(j,[r.OV.S3_LIST_BUCKET,r.OV.S3_ALL_LIST_BUCKET]),I=O.filter((e=>{if(""===w)return!0;return e.name.toLowerCase().indexOf(w.toLowerCase())>=0})).sort((0,A.$w)(m));let k=[];k="ASC"===i?I:I.reverse();const B=[{type:"view",tooltip:"View",onClick:t=>{var s;const o=t.name||"",a="/browser/".concat(j).concat(o?"/".concat((0,c.nf)(o)):"");!E||null!==(s=t.name)&&void 0!==s&&s.endsWith("/")?(e((0,d.KX)([])),n(a),E||(e((0,d.TO)(!0)),e((0,d.SK)(!0))),e((0,d.A7)("".concat(o?"".concat((0,c.nf)(o)):"")))):(0,P._)(e,j,"".concat((0,c.nf)(o)),t)},sendOnlyId:!1}];let F=N||E?"This location is empty".concat(S?"":", please try uploading a new file"):(0,r.vj)([r.OV.S3_LIST_BUCKET,r.OV.S3_ALL_LIST_BUCKET],"view Objects in this bucket");C&&(F="Objects List unavailable. Please review your WebSockets configuration and try again");let L="calc(100vh - 290px)";return v&&(L="calc(100vh - 315px)"),(0,y.jsx)(x.bQt,{itemActions:B,columns:S?Oe:Se,isLoading:g,entityName:"Objects",idField:"name",records:k,customPaperHeight:L,selectedItems:T,onSelect:E?void 0:t=>{const n=t.target,s=n.value,o=n.checked;let a=[...T];return o?a.push(s):a=a.filter((e=>e!==s)),e((0,d.KX)(a)),e((0,d.A7)(null)),a},customEmptyMessage:F,sortEnabled:{currentSort:m,currentDirection:i,onSortClick:t=>{const n=h()(t,"sortDirection","DESC");p(t.sortBy),u(n),e((0,d.Yw)(!0))}},onSelectAll:()=>{if(e((0,d.A7)(null)),T.length===k.length)return void e((0,d.KX)([]));const t=k.map((e=>e.name));e((0,d.KX)(t))},rowStyle:e=>{var t;let{index:n}=e;return null!==(t=k[n])&&void 0!==t&&t.delete_flag?"deleted":""},sx:{minHeight:b?"100%":"initial"},noBackground:!0})};var ye=n(64681);const Ce=()=>{const e=(0,l.jL)(),t=(0,o.d4)((e=>e.objectBrowser.searchObjects));return(0,y.jsx)(ye.A,{placeholder:"Start typing to filter objects in the bucket",onChange:t=>{e((0,d.$X)(t))},value:t})};var Ee=n(30614);const Ne=(0,S.A)(s.lazy((()=>n.e(5941).then(n.bind(n,65941))))),Ae=(0,S.A)(s.lazy((()=>Promise.resolve().then(n.bind(n,30718))))),Ie=(0,S.A)(s.lazy((()=>n.e(2704).then(n.bind(n,32704))))),ke=(0,S.A)(s.lazy((()=>Promise.resolve().then(n.bind(n,37524))))),Be={borderWidth:2,borderRadius:2,borderColor:"transparent",outline:"none"},Fe={borderStyle:"dashed",backgroundColor:"transparent",borderColor:"#2196f3"},Le={borderStyle:"dashed",backgroundColor:"transparent",borderColor:"#00e676"},Ve=()=>{var e;const t=(0,l.jL)(),n=(0,a.g)(),u=(0,a.Zp)(),b=(0,a.zy)(),g=(0,o.d4)((e=>e.objectBrowser.rewind.rewindEnabled)),f=(0,o.d4)((e=>e.objectBrowser.rewind.bucketToRewind)),v=(0,o.d4)((e=>e.objectBrowser.versionsMode)),S=(0,o.d4)((e=>e.objectBrowser.showDeleted)),C=(0,o.d4)((e=>e.objectBrowser.objectDetailsOpen)),E=(0,o.d4)((e=>e.objectBrowser.selectedInternalPaths)),P=(0,o.d4)((e=>e.objectBrowser.requestInProgress)),R=(0,o.d4)((e=>e.objectBrowser.simplePath)),U=(0,o.d4)((e=>e.objectBrowser.versionInfo)),z=(0,o.d4)((e=>e.objectBrowser.lockingEnabled)),G=(0,o.d4)((e=>e.objectBrowser.downloadRenameModal)),M=(0,o.d4)((e=>e.objectBrowser.selectedPreview)),J=(0,o.d4)((e=>e.objectBrowser.shareFileModalOpen)),K=(0,o.d4)((e=>e.objectBrowser.previewOpen)),W=(0,o.d4)((e=>e.objectBrowser.selectedBucket)),H=(0,o.d4)((e=>e.system.anonymousMode)),Y=(0,o.d4)((e=>e.objectBrowser.anonymousAccessOpen)),$=(0,o.d4)((e=>{var t;return(null===(t=e.objectBrowser)||void 0===t?void 0:t.records)||[]})),Z=(0,o.d4)(B.Nx),q=(0,o.d4)(B.fT),[Q,X]=(0,s.useState)(!1),[ee,te]=(0,s.useState)(!1),[ne,se]=(0,s.useState)(!1),[oe,ae]=(0,s.useState)(!1),[ie,le]=(0,s.useState)(!1),[ce,ue]=(0,s.useState)(null),[he,xe]=(0,s.useState)(null),[me,pe]=(0,s.useState)(!1),je=I(U.status),be=n.bucketName||"",ge=b.pathname.split("/browser/".concat(be,"/")),ve=2===ge.length?ge[1]:"",_e=(0,c.x6)(ve),Se=_e.split("/").filter((e=>""!==e));let Oe=[be];Se.length>0&&(Oe=Oe.concat(Se));const we=(0,s.useRef)(null),ye=(0,s.useRef)(null),Ve=(0,o.d4)((e=>e.console.session&&e.console.session.permissions||{})),De=[r.OV.S3_PUT_OBJECT,r.OV.S3_PUT_ACTIONS],Pe=Oe.join("/"),Re=function(e,t){const n=T(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:[]).reduce(((e,t)=>{const n=w(t);return n&&e.push(".".concat(n)),e}),[]);return[...new Set(n)].join(",")}(Ve,Pe,De),Ue=T(Ve,Pe,De),ze=(0,_._)([Pe,...Ue],[r.OV.S3_GET_OBJECT,r.OV.S3_GET_ACTIONS]),Ge=(0,_._)(be,[r.OV.S3_GET_OBJECT,r.OV.S3_GET_ACTIONS,r.OV.S3_GET_BUCKET_VERSIONING]),Me=(0,_._)([Pe,...Ue],[r.OV.S3_DELETE_OBJECT]),Je=(0,_._)([Pe,...Ue],De)||H,Ke=(0,_._)(be,[r.OV.S3_GET_BUCKET_POLICY,r.OV.S3_PUT_BUCKET_POLICY,r.OV.S3_GET_ACTIONS,r.OV.S3_PUT_ACTIONS]),We=(0,o.d4)((e=>e.objectBrowser.selectedObjects)),He=(()=>{let e=!1;if(1===We.length){e=!!$.find((e=>e.name==="".concat(We[0])&&e.delete_flag))}return e})(),Ye=(0,s.useCallback)((()=>{const e=We[0],t=(0,c.nf)(e);!me&&t&&i.F.buckets.getObjectMetadata(be,{prefix:t}).then((e=>{let t=h()(e.data,"objectMetadata",{});pe(!0),xe(t)})).catch((e=>{console.error("Error Getting Metadata Status: ",e,null===e||void 0===e?void 0:e.detailedError),pe(!0)}))}),[be,We,me]);(0,s.useEffect)((()=>{be&&!He&&Ye()}),[be,We,Ye,He]),(0,s.useEffect)((()=>{g&&f!==be&&t((0,d.rS)())}),[g,f,be,t]),(0,s.useEffect)((()=>{null!==ye.current&&(ye.current.setAttribute("directory",""),ye.current.setAttribute("webkitdirectory",""))}),[ye]),(0,s.useEffect)((()=>{if(1===We.length){const e=We[0],t=e.endsWith("/");let n=(0,A.IZ)(he,e);le(!("none"===n||!ze)),ae(!(!ze||t))}else ae(!1),le(!1)}),[We,ze,he]),(0,s.useEffect)((()=>{ce||H||i.F.buckets.getBucketQuota(be).then((e=>{let t=null;e.data.quota&&(t=e.data),ue(t)})).catch((e=>{console.error("Error Getting Quota Status: ",e.error.detailedMessage),ue(null)}))}),[ce,be,H]),(0,s.useEffect)((()=>{We.length>0?t((0,d.TO)(!0)):0!==We.length||null!==E||P||t((0,d.TO)(!1))}),[We,E,t,P]),(0,s.useEffect)((()=>{ne||(t((0,B.ZU)(!0)),se(!0))}),[ne,t,se]),(0,s.useEffect)((()=>{!P&&!Z||H||i.F.buckets.bucketInfo(be).then((e=>{t((0,B.ZU)(!1)),t((0,B.$T)(e.data))})).catch((e=>{t((0,B.ZU)(!1)),t((0,O.C9)((0,m.S)(e)))}))}),[be,Z,t,H,P]),(0,s.useEffect)((()=>{""!==W&&i.F.buckets.getBucketRetentionConfig(W).then((e=>{t((0,d.PJ)(e.data))})).catch((()=>{t((0,d.PJ)(null))}))}),[W,t]);const $e=e=>{if(null!==e&&void 0!==e&&null!==e.target.files&&void 0!==e.target.files){e.preventDefault();var t=[];for(let n=0;n{let s="";R&&(s=R.endsWith("/")?R:R+"/");((e,n,s,o)=>{let a=a=>new Promise(((i,l)=>{let r="api/v1/buckets/".concat(n,"/objects/upload");const u=a.name,x=new Blob([a],{type:a.type});let m="";const p=h()(a,"path",""),j=h()(a,"webkitRelativePath","");let b=o;const g=(0,k.E0)(8);""!==p?b=p:""!==j&&(b=j);let f="";if(""!==s||""!==b){const e=b.split("/").slice(0,-1).join("/"),t=s.endsWith("/")?s.slice(0,-1):s;f="".concat(t).concat(t.endsWith("/")||""===e||e.startsWith("/")?"":"/").concat(e).concat(!e.endsWith("/")||""===e.trim()&&!s.endsWith("/")?"/":"")}r=""!==f?"".concat(r,"?prefix=").concat((0,c.nf)(f+u)):"".concat(r,"?prefix=").concat((0,c.nf)(u)),m=(0,c.nf)(f);const v=(0,c.nf)("".concat(n,"-").concat(m,"-").concat((new Date).getTime(),"-").concat(Math.random()));let _=new XMLHttpRequest;_.open("POST",r,!0),H&&_.setRequestHeader("X-Anonymous","1");const S=e.length>1;let O="An error occurred while uploading the file".concat(S?"s":"",".");const w={413:"Error - File size too large"};_.withCredentials=!1,_.onload=function(){if(_.status>=200&&_.status<300)t((0,d.rx)(v)),i({status:_.status}),(0,k.vy)(g);else{if(w[_.status])O=w[_.status];else if(_.response)try{const e=JSON.parse(_.response);O=e.detailedMessage}catch(e){O="something went wrong"}t((0,d.iL)({instanceID:v,msg:O})),l({status:_.status,message:O}),(0,k.vy)(g)}},_.upload.addEventListener("error",(()=>{l(O),t((0,d.iL)({instanceID:v,msg:"A network error occurred."}))})),_.upload.addEventListener("progress",(e=>{const n=Math.floor(100*e.loaded/e.total);t((0,d.DW)({instanceID:v,progress:n}))})),_.onerror=()=>{l(O),t((0,d.iL)({instanceID:v,msg:"A network error occurred."}))},_.onloadend=()=>{0===e.length&&t((0,d.Yw)(!0))},_.onabort=()=>{t((0,d.Dm)(v))};const T=new FormData;void 0!==a.size&&(T.append(a.size.toString(),x,u),(0,k.FP)(g,_),t((0,d.cP)({ID:g,bucketName:n,done:!1,instanceID:v,percentage:0,prefix:"".concat((0,c.x6)(m)).concat(u),type:"upload",waitingForFile:!1,failed:!1,cancelled:!1,errorMessage:""})),(0,k.vx)(g,T))}));const i=[];t((0,d.Nu)());for(let t=0;t{const n=e.filter((e=>"rejected"===e.status));if(n.length>0){const e=i.length,s=i.length-n.length,o={errorMessage:"There were some errors during file upload",detailedError:"Uploaded files ".concat(s,"/").concat(e)};t((0,O.C9)(o))}t((0,d.Yw)(!0))}))})(e,be,s,n)}),[be,t,R,H]),qe=(0,s.useCallback)((e=>{if(e&&e.length>0&&Je){let n=e[0].path,s=e;Re.length>0&&(s=e.filter((e=>{const t=w(e.name);return Re.includes(t)}))),s.length?(Ze(s,n),console.log("".concat(s.length," Allowed Files Processed out of ").concat(e.length,"."),Pe,...Ue),s.length!==e.length&&t((0,O.C9)({errorMessage:"Upload is restricted.",detailedError:(0,r.vj)([r.OV.S3_PUT_OBJECT,r.OV.S3_PUT_ACTIONS],"upload objects to this location")}))):(t((0,O.C9)({errorMessage:"Could not process drag and drop.",detailedError:(0,r.vj)([r.OV.S3_PUT_OBJECT,r.OV.S3_PUT_ACTIONS],"upload objects to this location")})),console.error("Could not process drag and drop . upload may be restricted.",Pe,...Ue))}Je||t((0,O.C9)({errorMessage:"Upload not allowed",detailedError:(0,r.vj)([r.OV.S3_PUT_OBJECT,r.OV.S3_PUT_ACTIONS],"upload objects to this location")}))}),[Ze]),{getRootProps:Qe,getInputProps:Xe,isDragActive:et,isDragAccept:tt}=(0,p.VB)({noClick:!0,onDrop:qe}),nt=(0,s.useMemo)((()=>({...Be,...et?Fe:{},...tt?Le:{}})),[et,tt]),st=e=>{if(t((0,d.A7)(null)),t((0,d.cQ)({status:!1})),C&&null!==E){const e=(0,c.x6)(ve).split("/");e.pop();let t="";e&&e.length>0&&(t="".concat(e.join("/"),"/")),u("/browser/".concat(be,"/").concat((0,c.nf)(t)))}t((0,d.TO)(!1)),e&&t((0,d.Yw)(!0))};let ot=j.c9.now();null!==q&&void 0!==q&&q.creation_date&&(ot=j.c9.fromISO(q.creation_date));const at=(null===We||void 0===We?void 0:We.length)<=1?"Download Selected":" Download selected objects as Zip. Any Deleted objects in the selection would be skipped from download.",it=[{action:()=>{t((0,F.op)(be))},label:"Download",disabled:!ze||He,icon:(0,y.jsx)(x.s3U,{}),tooltip:ze?at:(0,r.vj)([r.OV.S3_GET_OBJECT,r.OV.S3_GET_ACTIONS],"download objects from this bucket")},{action:()=>{t((0,F.mS)())},label:"Share",disabled:1!==We.length||!oe||He,icon:(0,y.jsx)(x.liv,{}),tooltip:oe?"Share Selected File":"Sharing unavailable"},{action:()=>{t((0,F.HS)())},label:"Preview",disabled:1!==We.length||!ie||He,icon:(0,y.jsx)(x.cyn,{}),tooltip:ie?"Preview Selected File":"Preview unavailable"},{action:()=>{t((0,F.oz)())},label:"Anonymous Access",disabled:1!==We.length||!We[0].endsWith("/")||!Ke,icon:(0,y.jsx)(x._kf,{}),tooltip:1===We.length&&We[0].endsWith("/")?"Set Anonymous Access to this Folder":"Anonymous Access unavailable"},{action:()=>{X(!0)},label:"Delete",icon:(0,y.jsx)(x.d7y,{}),disabled:!Me||0===We.length,tooltip:Me?"Delete Selected Files":(0,r.vj)([r.OV.S3_DELETE_OBJECT],"delete objects in this bucket")}];return(0,y.jsxs)(s.Fragment,{children:[J&&M&&(0,y.jsx)(Ae,{open:J,closeModalAndRefresh:()=>{t((0,d.Lf)(!1)),t((0,d.go)(null))},bucketName:be,dataObject:{name:M.name,last_modified:"",version_id:M.version_id}}),Q&&(0,y.jsx)(Ne,{deleteOpen:Q,selectedBucket:be,selectedObjects:We,closeDeleteModalAndRefresh:e=>{X(!1),e&&(t((0,O.Hk)("Objects deleted successfully.")),t((0,d.KX)([])),t((0,d.Yw)(!0)))},versioning:U}),ee&&(0,y.jsx)(Ie,{open:ee,closeModalAndRefresh:()=>{te(!1)},bucketName:be}),K&&M&&(0,y.jsx)(ke,{open:K,bucketName:be,actualInfo:{name:M.name||"",last_modified:"",version_id:M.version_id||"",size:M.size||0},onClosePreview:()=>{t((0,d.xE)(!1)),t((0,d.go)(null))}}),!!G&&(0,y.jsx)(re,{open:!!G,closeModal:()=>{t((0,d.Ew)(null))},currentItem:(null===(e=G.name.split("/"))||void 0===e?void 0:e.pop())||"",bucketName:be,internalPaths:ve,actualInfo:{name:G.name,last_modified:"",version_id:G.version_id,size:G.size}}),Y&&(0,y.jsx)(Ee.default,{onClose:()=>{t((0,d.I8)(!1))},bucket:be,modalOpen:Y,prefilledRoute:"".concat(We[0],"*")}),(0,y.jsxs)(x.Mxu,{variant:"full",children:[H&&(0,y.jsx)("div",{style:{paddingBottom:16},children:(0,y.jsx)(Ce,{})}),(0,y.jsx)(x.azJ,{withBorders:!0,sx:{padding:"0 5px"},children:(0,y.jsx)(x.lcx,{icon:(0,y.jsx)("span",{children:(0,y.jsx)(x.brV,{style:{width:30}})}),title:be,subTitle:H?null:(0,y.jsxs)(x.azJ,{sx:{"& .detailsSpacer":{marginRight:18,"@media (max-width: 600px)":{marginRight:0}}},children:[(0,y.jsxs)("span",{className:"detailsSpacer",children:["Created on:\xa0",(0,y.jsx)("strong",{children:null!==q&&void 0!==q&&q.creation_date?ot.toFormat("ccc, LLL dd yyyy HH:mm:ss (ZZZZ)"):""})]}),(0,y.jsxs)("span",{className:"detailsSpacer",children:["Access:\xa0\xa0",(0,y.jsx)("strong",{children:(null===q||void 0===q?void 0:q.access)||""})]}),q&&(0,y.jsx)(s.Fragment,{children:(0,y.jsxs)("span",{className:"detailsSpacer",children:[q.size&&(0,y.jsx)(s.Fragment,{children:(0,c.qO)(q.size)}),q.size&&ce&&(0,y.jsxs)(s.Fragment,{children:[" ","/ ",(0,c.qO)(ce.quota||0)]}),q.size&&q.objects?" - ":"",q.objects&&(0,y.jsxs)(s.Fragment,{children:[q.objects,"\xa0Object",q.objects&&1!==q.objects?"s":""]})]})})]}),actions:(0,y.jsxs)(s.Fragment,{children:[!H&&(0,y.jsx)(L.A,{tooltip:Ge?"Rewind Bucket":(0,r.vj)([r.OV.S3_GET_OBJECT,r.OV.S3_GET_ACTIONS,r.OV.S3_GET_BUCKET_VERSIONING],"apply rewind in this bucket"),children:(0,y.jsx)(x.$nd,{id:"rewind-objects-list",label:"Rewind",icon:(0,y.jsx)(x.Exy,{color:"alert",dotOnly:!0,invisible:!g,children:(0,y.jsx)(x.osr,{style:{minWidth:16,minHeight:16,width:16,height:16,marginTop:-3}})}),variant:"regular",onClick:()=>{te(!0)},disabled:!je||!Ge})}),(0,y.jsx)(L.A,{tooltip:"Reload List",children:(0,y.jsx)(x.$nd,{id:"refresh-objects-list",label:"Refresh",icon:(0,y.jsx)(x.fNY,{}),variant:"regular",onClick:()=>{v?t((0,d.SK)(!0)):(t((0,d.A3)()),t((0,d.Yw)(!0)))},disabled:!H&&(!(0,_._)(be,[r.OV.S3_LIST_BUCKET,r.OV.S3_ALL_LIST_BUCKET])||g)})}),(0,y.jsx)("input",{type:"file",multiple:!0,accept:Re||void 0,onChange:$e,style:{display:"none"},ref:we}),(0,y.jsx)("input",{type:"file",multiple:!0,onChange:$e,style:{display:"none"},ref:ye}),(0,y.jsx)(V,{bucketName:be,uploadPath:Pe,uploadFileFunction:e=>{we&&we.current&&we.current.click(),e()},uploadFolderFunction:e=>{ye&&ye.current&&ye.current.click(),e()}})]}),bottomBorder:!1})}),(0,y.jsxs)("div",{id:"object-list-wrapper",...Qe({style:{...nt}}),children:[(0,y.jsx)("input",{...Xe()}),(0,y.jsxs)(x.azJ,{withBorders:!0,sx:{display:"flex",borderTop:0,padding:0,"& .hideListOnSmall":{"@media (max-width: 799px)":{display:"none"}}},children:[v?(0,y.jsx)(s.Fragment,{children:null!==E&&(0,y.jsx)(fe,{internalPaths:E,bucketName:be})}):(0,y.jsx)(_.R,{scopes:[r.OV.S3_LIST_BUCKET,r.OV.S3_ALL_LIST_BUCKET],resource:be,errorProps:{disabled:!0},children:(0,y.jsxs)(x.xA9,{item:!0,xs:12,sx:{width:"100%",position:"relative","&.detailsOpen":{"@media (max-width: 799px)":{display:"none"}}},className:C?"detailsOpen":"",children:[!H&&(0,y.jsx)(x.xA9,{item:!0,xs:12,sx:{padding:"12px 14px 5px"},children:(0,y.jsx)(N,{bucketName:be,internalPaths:_e,additionalOptions:!je||g?null:(0,y.jsx)(x.Sc0,{name:"deleted_objects",id:"showDeletedObjects",value:"deleted_on",label:"Show deleted objects",onChange:()=>{t((0,d.A3)()),t((0,d.lA)(!S)),st(!0)},checked:S,sx:{marginLeft:5,"@media (max-width: 600px)":{marginLeft:0,flexDirection:"row"}}}),hidePathButton:!1})}),(0,y.jsx)(Te,{})]})}),!H&&(0,y.jsx)(_.R,{scopes:[r.OV.S3_LIST_BUCKET,r.OV.S3_ALL_LIST_BUCKET],resource:be,errorProps:{disabled:!0},children:(0,y.jsxs)(D,{open:C,closePanel:()=>{st(!1)},className:"".concat(v?"hideListOnSmall":""),children:[We.length>0&&(0,y.jsx)(x.Smc,{items:it,title:"Selected Objects:"}),null!==E&&(0,y.jsx)(de,{internalPaths:E,bucketName:be,onClosePanel:st,versioningInfo:U,locking:z})]})})]})]})]})]})};var De=n(18218),Pe=n(69772),Re=n(48793),Ue=n(59707),ze=n(92452);const Ge=e=>{let{bucketName:t}=e;const n=(0,l.jL)(),i=(0,o.d4)(we.s$),c=(0,o.d4)((e=>e.objectBrowser.versionsMode)),u=(0,o.d4)((e=>e.objectBrowser.versionedFile)),h=(0,o.d4)((e=>e.objectBrowser.searchVersions)),m=!(null===i||void 0===i||!i.includes("object-browser-only")),p=(0,a.Zp)(),j=(0,De.A)(t,[r.OV.S3_GET_BUCKET_POLICY,r.OV.S3_PUT_BUCKET_POLICY,r.OV.S3_GET_BUCKET_VERSIONING,r.OV.S3_PUT_BUCKET_VERSIONING,r.OV.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION,r.OV.S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION,r.OV.S3_DELETE_BUCKET,r.OV.S3_GET_BUCKET_NOTIFICATIONS,r.OV.S3_PUT_BUCKET_NOTIFICATIONS,r.OV.S3_GET_REPLICATION_CONFIGURATION,r.OV.S3_PUT_REPLICATION_CONFIGURATION,r.OV.S3_GET_LIFECYCLE_CONFIGURATION,r.OV.S3_PUT_LIFECYCLE_CONFIGURATION,r.OV.ADMIN_GET_BUCKET_QUOTA,r.OV.ADMIN_SET_BUCKET_QUOTA,r.OV.S3_PUT_BUCKET_TAGGING,r.OV.S3_GET_BUCKET_TAGGING,r.OV.S3_LIST_BUCKET_VERSIONS,r.OV.S3_GET_BUCKET_POLICY_STATUS,r.OV.S3_DELETE_BUCKET_POLICY,r.OV.S3_GET_ACTIONS,r.OV.S3_PUT_ACTIONS]),b=(0,y.jsx)(s.Fragment,{children:c?(0,y.jsx)(s.Fragment,{children:(0,y.jsx)(ye.A,{placeholder:"Start typing to filter versions of ".concat(u),onChange:e=>{n((0,d.aj)(e))},value:h})}):(0,y.jsx)(_.R,{scopes:[r.OV.S3_LIST_BUCKET,r.OV.S3_ALL_LIST_BUCKET],resource:t,errorProps:{disabled:!0},children:(0,y.jsx)(Ce,{})})});return(0,s.useEffect)((()=>{n((0,O.ph)("object_browser"))}),[]),(0,y.jsx)(s.Fragment,{children:m?(0,y.jsxs)(x.xA9,{container:!0,sx:{padding:"20px 32px 0"},children:[(0,y.jsx)(x.xA9,{children:(0,y.jsx)(Pe.A,{marginRight:30,marginTop:10})}),(0,y.jsxs)(x.xA9,{item:!0,xs:!0,sx:{display:"flex",gap:10},children:[b,(0,y.jsx)(Ue.A,{})]})]}):(0,y.jsx)(Re.A,{label:(0,y.jsx)(x.EGL,{label:"Object Browser",onClick:()=>{p(r.zZ.OBJECT_BROWSER_VIEW)}}),actions:(0,y.jsxs)(s.Fragment,{children:[(0,y.jsx)(_.R,{scopes:r.pC[r.ac.BUCKET_ADMIN],resource:t,errorProps:{disabled:!0},children:(0,y.jsx)(L.A,{tooltip:j?"Configure Bucket":"You do not have the required permissions to configure this bucket. Please contact your MinIO administrator to request "+r.ac.BUCKET_ADMIN+" permisions.",children:(0,y.jsx)(x.$nd,{id:"configure-bucket-main",color:"primary","aria-label":"Configure Bucket",onClick:()=>p("/buckets/".concat(t,"/admin")),icon:(0,y.jsx)(x.Zes,{style:{width:20,height:20,marginTop:-3}}),style:{padding:"0 10px"}})})}),(0,y.jsx)(ze.A,{})]}),middleComponent:b})})},Me=()=>{const e=(0,l.jL)(),t=(0,a.g)(),n=(0,a.zy)(),u=(0,o.d4)((e=>e.objectBrowser.loadingVersioning)),h=(0,o.d4)((e=>e.objectBrowser.rewind.rewindEnabled)),x=(0,o.d4)((e=>e.objectBrowser.rewind.dateToRewind)),m=(0,o.d4)((e=>e.objectBrowser.showDeleted)),p=(0,o.d4)((e=>e.objectBrowser.requestInProgress)),j=(0,o.d4)((e=>e.objectBrowser.loadingLocking)),b=(0,o.d4)((e=>e.objectBrowser.reloadObjectsList)),g=(0,o.d4)((e=>e.objectBrowser.simplePath)),f=(0,o.d4)((e=>e.system.anonymousMode)),v=(0,o.d4)((e=>e.objectBrowser.selectedBucket)),_=(0,o.d4)((e=>e.objectBrowser.records)),S=t.bucketName||"",O=n.pathname.split("/browser/".concat(S,"/")),w=2===O.length?O[1]:"",T=(0,s.useCallback)((t=>{let n=(new Date).toISOString();null!==x&&h&&(n=x);e({type:"socket/OBRequest",payload:{bucketName:S,path:t,rewindMode:h||m,date:n}})}),[S,m,x,h,e]),C=(0,s.useCallback)((function(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const n=(0,c.x6)(w);e((0,d.cQ)({status:!1}));let s=n;n.endsWith("/")||""===n||(s="".concat(n.split("/").slice(0,-1).join("/"),"/")),"/"===s&&(s=""),(s!==g||S!==v||t)&&(e((0,d.u)(!0)),T(s))}),[w,e,g,v,S,T]);(0,s.useEffect)((()=>()=>{e({type:"socket/OBCancelLast"})}),[e]),(0,s.useEffect)((()=>{const t=(0,c.x6)(w);e((0,d.vn)(!0)),t.endsWith("/")||""===t?(e((0,d.TO)(!1)),e((0,d.A7)(null)),e((0,d.Qy)(!0))):(e((0,d.oe)(!0)),e((0,d.TO)(!0)),e((0,d.SK)(!0)),e((0,d.A7)("".concat(t?"".concat((0,c.nf)(t)):""))))}),[S,w,x,h,e]),(0,s.useEffect)((()=>{C(!1)}),[C]),(0,s.useEffect)((()=>{b&&0===_.length&&!p&&C(!0)}),[b,_,p,C]);const E=(0,De.A)(S,[r.OV.S3_LIST_BUCKET,r.OV.S3_ALL_LIST_BUCKET])||f;return(0,s.useEffect)((()=>{u&&!f&&(E?i.F.buckets.getBucketVersioning(S).then((t=>{e((0,d.AP)(t.data)),e((0,d.vn)(!1))})).catch((t=>{console.error("Error Getting Object Versioning Status: ",t.error.detailedMessage),e((0,d.vn)(!1))})):(e((0,d.vn)(!1)),e((0,d.A3)())))}),[S,u,e,E,f]),(0,s.useEffect)((()=>{j&&(E?i.F.buckets.getBucketObjectLockingStatus(S).then((t=>{e((0,d.xW)(t.data.object_locking_enabled)),e((0,d.Qy)(!1))})).catch((t=>{console.error("Error Getting Object Locking Status: ",t.error.detailedMessage),e((0,d.Qy)(!1))})):(e((0,d.A3)()),e((0,d.Qy)(!1))))}),[S,j,e,E]),(0,y.jsxs)(s.Fragment,{children:[!f&&(0,y.jsx)(Ge,{bucketName:S}),(0,y.jsx)(Ve,{})]})}},30718:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>f});var s=n(65043),o=n(22166),a=n(89923),i=n(61476),l=n.n(i),r=n(94141),c=n(24241),d=n(70579);const u=e=>{let{id:t,initialDate:n,label:o,maxSeconds:i,entity:l,onChange:r}=e;const u=Math.floor(i/86400),h=Math.floor(i%86400/3600),x=Math.floor(i%3600/60),[m,p]=(0,s.useState)(0),[j,b]=(0,s.useState)(0),[g,f]=(0,s.useState)(0),[v,_]=(0,s.useState)(!0),[S,O]=(0,s.useState)(c.c9.now());(0,s.useEffect)((()=>{p(u),b(h),f(x)}),[u,h,x]),(0,s.useEffect)((()=>{isNaN(j)||isNaN(m)||isNaN(g)||O(((e,t,n,s)=>c.c9.fromJSDate(e).plus({hours:n+24*t,minutes:s}))(n,m,j,g))}),[n,m,j,g]),(0,s.useEffect)((()=>{if(v){const e=S.toFormat("yyyy-MM-dd HH:mm:ss");r(e.split(" ").join("T"),!0)}else r("0000-00-00",!1)}),[S,r,v]),(0,s.useEffect)((()=>{let e=!0;(m<0||m>7||m>u||isNaN(m))&&(e=!1),(j<0||j>23||isNaN(j))&&(e=!1),(g<0||g>59||isNaN(g))&&(e=!1),m===u&&(j>h&&(e=!1),j===h&&g>x&&(e=!1)),m<=0&&j<=0&&g<=0&&(e=!1),_(e)}),[S,u,h,x,r,m,j,g]);const w={"& .textBoxContainer":{minWidth:0},"& input":{textAlign:"center",paddingRight:10,paddingLeft:10,width:40}};return(0,d.jsxs)(a.azJ,{className:"inputItem",children:[(0,d.jsx)(a.azJ,{sx:{display:"flex",alignItems:"center",marginBottom:5},children:(0,d.jsx)(a.l1Y,{htmlFor:t,children:o})}),(0,d.jsxs)(a.azJ,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"space-evenly",gap:10,"& .reverseInput":{flexFlow:"row-reverse","& > label":{fontWeight:400,marginLeft:15,marginRight:25}}},children:[(0,d.jsx)(a.azJ,{children:(0,d.jsx)(a.cl_,{id:t,className:"reverseInput removeArrows",type:"number",min:"0",max:"7",label:"Days",name:t,onChange:e=>{p(parseInt(e.target.value))},value:m.toString(),sx:w,noLabelMinWidth:!0})}),(0,d.jsx)(a.azJ,{children:(0,d.jsx)(a.cl_,{id:t,className:"reverseInput removeArrows",type:"number",min:"0",max:"23",label:"Hours",name:t,onChange:e=>{b(parseInt(e.target.value))},value:j.toString(),sx:w,noLabelMinWidth:!0})}),(0,d.jsx)(a.azJ,{children:(0,d.jsx)(a.cl_,{id:t,className:"reverseInput removeArrows",type:"number",min:"0",max:"59",label:"Minutes",name:t,onChange:e=>{f(parseInt(e.target.value))},value:g.toString(),sx:w,noLabelMinWidth:!0})})]}),(0,d.jsx)(a.azJ,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-start",marginTop:25,marginLeft:10,marginBottom:15,"& .validityText":{fontSize:14,marginTop:15,display:"flex",alignItems:"center",justifyContent:"center","@media (max-width: 900px)":{flexFlow:"column"},"& > .min-icon":{color:"#5E5E5E",width:15,height:15,marginRight:10}},"& .validTill":{fontWeight:"bold",marginLeft:15},"& .invalidDurationText":{marginTop:15,display:"flex",color:"red",fontSize:11}},children:v?(0,d.jsxs)("div",{className:"validityText",children:[(0,d.jsx)(a.qYV,{}),(0,d.jsxs)("div",{children:[l," will be available until:"]})," ",(0,d.jsx)("div",{className:"validTill",children:S.toFormat("MM/dd/yyyy HH:mm:ss ZZZZ")})]}):(0,d.jsx)("div",{className:"invalidDurationText",children:"Please select a valid duration."})})]})};var h=n(56483),x=n(64159),m=n(20554),p=n(56629),j=n(53518),b=n(81708),g=n(6035);const f=e=>{let{open:t,closeModalAndRefresh:n,bucketName:i,dataObject:c}=e;const f=(0,m.jL)(),v=(0,o.d4)(x.Rq),_=(0,o.d4)(g.yL),[S,O]=(0,s.useState)(""),[w,T]=(0,s.useState)(!0),[y,C]=(0,s.useState)(!1),[E,N]=(0,s.useState)(""),[A,I]=(0,s.useState)(!0),[k,B]=(0,s.useState)("null"),F=new Date;return(0,s.useEffect)((()=>{f((0,b.Ex)())}),[f]),(0,s.useEffect)((()=>{if(void 0===c.version_id)return v?(p.F.buckets.listObjects(i,{prefix:(0,h.nf)(c.name||""),with_versions:v}).then((e=>{const t=(e.data.objects||[]).find((e=>e.is_latest));B(t?"".concat(t.version_id):"null")})).catch((e=>{f((0,x.Dy)((0,j.S)(e.error)))})),void T(!1)):(B("null"),void T(!1));B(c.version_id||"null"),T(!1)}),[i,c,v,f]),(0,s.useEffect)((()=>{if(A&&!w){C(!0),O("");const e=new Date("".concat(E)),t=new Date,n=Math.ceil((e.getTime()-t.getTime())/1e3);n>0&&p.F.buckets.shareObject(i,{prefix:(0,h.nf)(c.name||""),version_id:k,expires:""!==E?"".concat(n,"s"):""}).then((e=>{O(e.data),C(!1)})).catch((e=>{f((0,x.Dy)((0,j.S)(e.error))),O(""),C(!1)}))}}),[c,E,i,A,O,f,v,w,k]),(0,d.jsx)(s.Fragment,{children:(0,d.jsxs)(r.A,{title:"Share File",titleIcon:(0,d.jsx)(a.liv,{style:{fill:"#4CCB92"}}),modalOpen:t,onClose:()=>{n()},children:[w&&(0,d.jsx)(a.xA9,{item:!0,xs:12,children:(0,d.jsx)(a.z21,{})}),!w&&(0,d.jsxs)(s.Fragment,{children:[(0,d.jsx)(a.xA9,{item:!0,xs:12,sx:{fontSize:14,fontWeight:400},children:(0,d.jsx)(a.m_M,{placement:"right",tooltip:(0,d.jsxs)("span",{children:["You can reset your session by logging out and logging back in to the web UI. ",(0,d.jsx)("br",{})," ",(0,d.jsx)("br",{}),"You can increase the maximum configuration time by setting the MINIO_STS_DURATION environment variable on all your nodes. ",(0,d.jsx)("br",{})," ",(0,d.jsx)("br",{}),"You can use ",(0,d.jsx)("b",{children:"mc share"})," as an alternative to this UI, where the session length does not limit the URL validity."]}),children:(0,d.jsxs)("span",{children:["The following URL lets you share this object without requiring a login. ",(0,d.jsx)("br",{}),"The URL expires automatically at the earlier of your configured time (",(0,h.K7)(_),") or the expiration of your current web session."]})})}),(0,d.jsx)("br",{}),(0,d.jsx)(a.xA9,{item:!0,xs:12,children:(0,d.jsx)(u,{initialDate:F,id:"date",label:"Active for",maxSeconds:_,onChange:(e,t)=>{I(t),t?N(e):(N(""),O(""))},entity:"Link"})}),(0,d.jsx)(a.xA9,{item:!0,xs:12,sx:{marginBottom:10},children:(0,d.jsx)(a.EmB,{actionButton:(0,d.jsx)(l(),{text:S,children:(0,d.jsx)(a.$nd,{id:"copy-path",variant:"regular",onClick:()=>{f((0,x.h0)("Share URL Copied to clipboard"))},disabled:""===S||y,style:{width:"28px",height:"28px",padding:"0px"},icon:(0,d.jsx)(a.TdU,{})})}),children:S})})]})]})})}},37524:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>f});var s=n(65043),o=n(94141),a=n(89923),i=n(33097),l=n.n(i),r=n(93445),c=n(56483),d=n(56629),u=n(72809),h=n(66730),x=n(10934),m=n(70579);u.A.GlobalWorkerOptions.workerSrc="./scripts/pdf.worker.min.js";const p=e=>{let{path:t,loading:n,onLoad:o,downloadFile:i}=e;const[l,r]=(0,s.useState)(!1),[c,d]=(0,s.useState)(0);if(!t)return null;const u=c>5?5:c,p=Array.from(Array(u).keys());return(0,m.jsxs)(s.Fragment,{children:[l&&0===c&&(0,m.jsx)(a.Wei,{variant:"error",title:"Error",message:(0,m.jsxs)(s.Fragment,{children:["File preview couldn't be displayed, Please try Download instead.",(0,m.jsx)(a.azJ,{sx:{display:"flex",justifyContent:"center",marginTop:12},children:(0,m.jsx)(a.$nd,{id:"download-preview",onClick:i,variant:"callAction",children:"Download File"})})]}),sx:{marginBottom:10}}),!n&&!l&&(0,m.jsx)(a.Wei,{variant:"warning",title:"File Preview",message:(0,m.jsxs)(s.Fragment,{children:["This is a File Preview for the first ",p.length," pages of the document, if you wish to work with the full document please download instead.",(0,m.jsx)(a.azJ,{sx:{display:"flex",justifyContent:"center",marginTop:12},children:(0,m.jsx)(a.$nd,{id:"download-preview",onClick:i,variant:"callAction",children:"Download File"})})]}),sx:{marginBottom:10}}),!l&&(0,m.jsx)(a.azJ,{sx:{overflowY:"auto","& .react-pdf__Page__canvas":{margin:"0 auto",backgroundColor:"transparent"}},children:(0,m.jsx)(h.A,{file:t,onLoadSuccess:e=>{let{_pdfInfo:t}=e;d(t.numPages||0),r(!1),o()},onLoadError:e=>{r(!0),o(),console.error(e)},children:p.map((e=>(0,m.jsx)(x.A,{pageNumber:e+1,renderAnnotationLayer:!1,renderTextLayer:!1,renderForms:!1},"render-page-".concat(e))))})})]})};var j=n(48245),b=n(20554);const g=e=>{let{bucketName:t,actualInfo:n,isFullscreen:o=!1}=e;const i=(0,b.jL)(),[u,h]=(0,s.useState)(!0),[x,g]=(0,s.useState)(null),[f,v]=(0,s.useState)(!1),_=(null===n||void 0===n?void 0:n.name)||"",S=(0,s.useCallback)((()=>{if(!f){const e=(0,c.nf)(_);d.F.buckets.getObjectMetadata(t,{prefix:e,versionID:n.version_id||""}).then((e=>{let t=l()(e.data,"objectMetadata",{});v(!0),g(t)})).catch((e=>{console.error("Error Getting Metadata Status: ",e,null===e||void 0===e?void 0:e.detailedError),v(!0)}))}}),[t,_,f,n.version_id]);(0,s.useEffect)((()=>{t&&_&&S()}),[t,_,S]);let O="";if(n){const e=(0,c.nf)(n.name||"");let s=document.baseURI.replace(window.location.origin,"");O="".concat(window.location.origin).concat(s,"api/v1/buckets/").concat(t,"/objects/download?preview=true&prefix=").concat(e),n.version_id&&(O=O.concat("&version_id=".concat(n.version_id)))}let w=(0,r.IZ)(x,_);const T=()=>{h(!1)};return(0,m.jsxs)(s.Fragment,{children:["none"!==w&&u&&(0,m.jsx)(a.xA9,{item:!0,xs:12,children:(0,m.jsx)(a.z21,{})}),f?(0,m.jsxs)(a.azJ,{sx:{textAlign:"center","& .iframeContainer":{border:"0px",flex:"1 1 auto",width:"100%",height:250,backgroundColor:"transparent",borderRadius:5,"&.image":{height:500},"&.audio":{height:150},"&.video":{height:350},"&.fullHeight":{height:"calc(100vh - 185px)"}},"& .iframeBase":{backgroundColor:"#fff"},"& .iframeHidden":{display:"none"}},children:["video"===w&&(0,m.jsx)("video",{style:{width:"auto",height:"auto",maxWidth:"calc(100vw - 100px)",maxHeight:"calc(100vh - 200px)"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:T,children:(0,m.jsx)("source",{src:O,type:"video/mp4"})}),"audio"===w&&(0,m.jsx)("audio",{style:{width:"100%",height:"auto"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:T,children:(0,m.jsx)("source",{src:O,type:"audio/mpeg"})}),"image"===w&&(0,m.jsx)("img",{style:{width:"auto",height:"auto",maxWidth:"100vw",maxHeight:"100vh"},src:O,alt:"preview",onLoad:T}),"pdf"===w&&(0,m.jsx)(s.Fragment,{children:(0,m.jsx)(p,{path:O,onLoad:T,loading:u,downloadFile:()=>(0,j._)(i,t,O,n)})}),"none"===w&&(0,m.jsx)("div",{children:(0,m.jsx)(a.Wei,{message:" File couldn't be previewed using file extension or mime type. Please try Download instead",title:"Preview unavailable",sx:{margin:"15px 0"}})}),"none"!==w&&"video"!==w&&"audio"!==w&&"image"!==w&&"pdf"!==w&&(0,m.jsx)("div",{className:"iframeBase ".concat(u?"iframeHidden":""),children:(0,m.jsx)("iframe",{src:O,title:"File Preview",allowTransparency:!0,className:"iframeContainer ".concat(o?"fullHeight":w),onLoad:T,children:"File couldn't be loaded. Please try Download instead"})})]}):null]})},f=e=>{let{open:t,bucketName:n,actualInfo:i,onClosePreview:l}=e;return(0,m.jsx)(s.Fragment,{children:(0,m.jsx)(o.A,{modalOpen:t,title:"Preview - ".concat(null===i||void 0===i?void 0:i.name),onClose:l,wideLimit:!1,titleIcon:(0,m.jsx)(a.jG,{}),children:(0,m.jsx)(g,{bucketName:n,actualInfo:i})})})}},72237:(e,t,n)=>{"use strict";n.d(t,{A:()=>a});var s=n(65043),o=n(70579);const a=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return function(n){return(0,o.jsx)(s.Suspense,{fallback:t,children:(0,o.jsx)(e,{...n})})}}},81708:(e,t,n)=>{"use strict";n.d(t,{Ex:()=>p,HS:()=>h,mS:()=>x,op:()=>u,oz:()=>m});var s=n(80907),o=n(56483),a=n(37414),i=n(93445),l=n(6035),r=n(64159),c=n(24241),d=n(56629);const u=(0,s.zD)("objectBrowser/downloadSelected",(async(e,t)=>{let{getState:n,rejectWithValue:s,dispatch:d}=t;const u=n(),h=t=>{const n=(0,o.nf)("".concat(e,"-").concat(t.name,"-").concat((new Date).getTime(),"-").concat(Math.random())),s=(0,a.E0)(8),c=(0,i.RG)(e,(0,o.nf)(t.name),t.version_id,t.size,null,s,(e=>{d((0,l.DW)({instanceID:n,progress:e}))}),(()=>{d((0,l.rx)(n))}),(e=>{d((0,l.iL)({instanceID:n,msg:e}))}),(()=>{d((0,l.Dm)(n))}),(()=>{d((0,r.Hk)("File download will be handled directly by the browser."))}));(0,a.FP)(s,c),d((0,l.cP)({ID:s,bucketName:e,done:!1,instanceID:n,percentage:0,prefix:t.name,type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))};if(0!==u.objectBrowser.selectedObjects.length){let t=[];const n=e=>u.objectBrowser.selectedObjects.includes(e.name);if(t=u.objectBrowser.records.filter(n),1===t.length){if(t[0].name.length>200&&(0,o.oK)().toLowerCase().includes("win"))return void d((0,l.Ew)(t[0]));h(t[0])}else if(1===t.length)h(t[0]);else if(t.length>1){const n="".concat(c.c9.now().toFormat("LL-dd-yyyy-HH-mm-ss"),"_files_list.zip"),s=t.reduce(((e,t)=>{const n=null===t||void 0===t?void 0:t.delete_flag;return t&&!n?e.push(t.name):console.log("Skipping ".concat(null===t||void 0===t?void 0:t.name," from download.")),e}),[]);return void await(0,i.Fj)(e,s,n)}}})),h=(0,s.zD)("objectBrowser/openPreview",(async(e,t)=>{let{getState:n,rejectWithValue:s,dispatch:o}=t;const a=n();if(1===a.objectBrowser.selectedObjects.length){let e;const t=e=>a.objectBrowser.selectedObjects.includes(e.name);e=a.objectBrowser.records.find(t),e&&(o((0,l.go)(e)),o((0,l.xE)(!0)))}})),x=(0,s.zD)("objectBrowser/openShare",(async(e,t)=>{let{getState:n,rejectWithValue:s,dispatch:o}=t;const a=n();if(1===a.objectBrowser.selectedObjects.length){let e;const t=e=>a.objectBrowser.selectedObjects.includes(e.name);e=a.objectBrowser.records.find(t),e&&(o((0,l.go)(e)),o((0,l.Lf)(!0)))}})),m=(0,s.zD)("objectBrowser/openAnonymousAccess",(async(e,t)=>{let{getState:n,dispatch:s}=t;const o=n();1===o.objectBrowser.selectedObjects.length&&o.objectBrowser.selectedObjects[0].endsWith("/")&&s((0,l.I8)(!0))})),p=(0,s.zD)("objectBrowser/maxShareLinkExpTime",(async(e,t)=>{let{rejectWithValue:n,dispatch:s}=t;return d.F.buckets.getMaxShareLinkExp().then((e=>{s((0,l.QV)(e.data.exp))})).catch((async e=>n(e.error)))}))},48245:(e,t,n)=>{"use strict";n.d(t,{_:()=>r});var s=n(56483),o=n(37414),a=n(93445),i=n(6035),l=n(64159);const r=(e,t,n,r)=>{var c;const d=(0,s.nf)("".concat(t,"-").concat(r.name,"-").concat((new Date).getTime(),"-").concat(Math.random())),u=(0,s.oK)().toLowerCase().includes("win");if(((null===(c=r.name)||void 0===c?void 0:c.length)||0)>200&&u)return void e((0,i.Jl)(!0));const h=(0,o.E0)(8),x=(0,a.RG)(t,n,r.version_id,r.size||0,null,h,(t=>{e((0,i.DW)({instanceID:d,progress:t}))}),(()=>{e((0,i.rx)(d))}),(t=>{e((0,i.iL)({instanceID:d,msg:t}))}),(()=>{e((0,i.Dm)(d))}),(()=>{e((0,l.Hk)("File download will be handled directly by the browser."))}));(0,o.FP)(h,x),e((0,i.cP)({ID:h,bucketName:t,done:!1,instanceID:d,percentage:0,prefix:r.name||"",type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))}},49501:(e,t,n)=>{"use strict";n.d(t,{A:()=>i});var s=n(65043),o=n(89923),a=n(70579);const i=e=>{let{value:t}=e;const[n,i]=(0,s.useState)(!1);return(0,a.jsxs)(o.azJ,{sx:{display:"flex",alignItems:"center",flexFlow:"row",["@media (max-width: ".concat(o.nmC.sm,"px)")]:{flexFlow:"column"}},children:[(0,a.jsx)(o.cl_,{id:"inspect-dec-key",name:"inspect-dec-key",placeholder:"",label:"",type:n?"text":"password",onChange:()=>{},value:t,overlayIcon:(0,a.jsx)(o.TdU,{}),readOnly:!0,overlayAction:()=>navigator.clipboard.writeText(t)}),(0,a.jsx)(o.$nd,{id:"show-hide-key",style:{marginLeft:"10px"},variant:"callAction",onClick:()=>i(!n),label:"Show/Hide"})]})}},17640:()=>{},23237:()=>{},97492:()=>{},31815:()=>{},66671:()=>{},82787:()=>{}}]);
+//# sourceMappingURL=2959.e0878952.chunk.js.map
\ No newline at end of file
diff --git a/web-app/build/static/js/2959.e0878952.chunk.js.map b/web-app/build/static/js/2959.e0878952.chunk.js.map
new file mode 100644
index 0000000000..c4451a22c9
--- /dev/null
+++ b/web-app/build/static/js/2959.e0878952.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/2959.e0878952.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/AddAccessRule.tsx","screens/Console/Buckets/ListBuckets/UploadPermissionUtils.ts","screens/Console/ObjectBrowser/BrowserBreadcrumbs.tsx","utils/validationFunctions.ts","screens/Console/Buckets/ListBuckets/UploadFilesButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DetailsListPanel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/IconWithLabel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/utils.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ObjectMetaData.tsx","screens/Console/Common/FormComponents/DateSelector/utils.ts","screens/Console/Common/FormComponents/DateSelector/DateSelector.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetRetention.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteObject.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetLegalHoldModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/TagsModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/InspectObject.tsx","screens/Console/ObjectBrowser/RenameLongFilename.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/RestoreFileVersion.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SpecificVersionPill.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/FileVersionItem.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteNonCurrent.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/DeleteSelectedVersions.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjectsHelpers.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjectsTable.tsx","screens/Console/ObjectBrowser/FilterObjectsSB.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx","screens/Console/ObjectBrowser/OBHeader.tsx","screens/Console/Buckets/BucketDetails/BrowserHandler.tsx","screens/Console/Common/FormComponents/DaysSelector/DaysSelector.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ShareFile.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewPDF.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileContent.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileModal.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/ObjectBrowser/objectBrowserThunks.ts","screens/Console/ObjectBrowser/utils.ts","screens/Console/Tools/KeyRevealer.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState, Fragment } from \"react\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport {\n AddAccessRuleIcon,\n Button,\n FormLayout,\n Grid,\n InputBox,\n Select,\n} from \"mds\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { modalStyleUtils } from \"../../Common/FormComponents/common/styleLibrary\";\nimport {\n setErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IAddAccessRule {\n modalOpen: boolean;\n onClose: () => any;\n bucket: string;\n prefilledRoute?: string;\n}\n\nconst AddAccessRule = ({\n modalOpen,\n onClose,\n bucket,\n prefilledRoute,\n}: IAddAccessRule) => {\n const dispatch = useAppDispatch();\n\n const [prefix, setPrefix] = useState(\"\");\n const [selectedAccess, setSelectedAccess] = useState(\"readonly\");\n\n useEffect(() => {\n if (prefilledRoute) {\n setPrefix(prefilledRoute);\n }\n }, [prefilledRoute]);\n\n const accessOptions = [\n { label: \"readonly\", value: \"readonly\" },\n { label: \"writeonly\", value: \"writeonly\" },\n { label: \"readwrite\", value: \"readwrite\" },\n ];\n\n const resetForm = () => {\n setPrefix(\"\");\n setSelectedAccess(\"readonly\");\n };\n\n const createProcess = () => {\n api.bucket\n .setAccessRuleWithBucket(bucket, {\n prefix: prefix,\n access: selectedAccess,\n })\n .then((res: any) => {\n dispatch(setSnackBarMessage(\"Access Rule added successfully\"));\n onClose();\n })\n .catch((res) => {\n dispatch(setErrorSnackMessage(errorToHandler(res.error)));\n onClose();\n });\n };\n\n return (\n }\n >\n \n {\n setPrefix(e.target.value);\n }}\n tooltip={\n \"Enter '/' to apply the rule to all prefixes and objects at the bucket root. Do not include the wildcard asterisk '*' as part of the prefix *unless* it is an explicit part of the prefix name. The Console automatically appends an asterisk to the appropriate sections of the resulting IAM policy.\"\n }\n />\n {\n setSelectedAccess(value);\n }}\n label=\"Access\"\n value={selectedAccess}\n options={accessOptions}\n disabled={false}\n helpTip={\n \n Select the desired level of access available to unauthenticated\n Users\n \n }\n helpTipPlacement=\"right\"\n />\n \n \n\n \n \n \n \n );\n};\n\nexport default AddAccessRule;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const extractFileExtn = (resourceStr: string) => {\n //file extensions may contain query string. so exclude query strings !\n return (resourceStr.match(/\\.([^.]*?)(?=\\?|#|$)/) || [])[1];\n};\nexport const getPolicyAllowedFileExtensions = (\n sessionGrants: Record,\n uploadPath: string,\n scopes: string[] = [],\n) => {\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n uploadPath,\n scopes,\n );\n\n //get acceptable files if any in the policy.\n const allowedFileExtensions = sessionGrantWildCards.reduce(\n (acc: string[], cv: string) => {\n const extension: string = extractFileExtn(cv);\n if (extension) {\n acc.push(`.${extension}`); //strict extension matching.\n }\n return acc;\n },\n [],\n );\n\n const uniqueExtensions = [...new Set(allowedFileExtensions)];\n return uniqueExtensions.join(\",\");\n};\n\n// The resource should not have the extensions (*.ext) for the hasPermission to work.\n// so sanitize this and also use to extract the allowed extensions outside of permission check.\nexport const getSessionGrantsWildCard = (\n sessionGrants: Record,\n uploadPath: string,\n scopes: string[] = [],\n) => {\n //get only the path matching grants to reduce processing.\n const grantsWithExtension = Object.keys(sessionGrants).reduce(\n (acc: Record, grantKey: string) => {\n if (extractFileExtn(grantKey) && grantKey.includes(uploadPath)) {\n acc[grantKey] = sessionGrants[grantKey];\n }\n return acc;\n },\n {},\n );\n\n const checkPathsForPermission = (sessionGrantKey: string) => {\n const grantActions = grantsWithExtension[sessionGrantKey];\n const hasScope = grantActions.some((actionKey) =>\n scopes.find((scopeKey) => {\n let wildCardMatch = false;\n const hasWildCard = scopeKey.indexOf(\"*\") !== -1;\n if (hasWildCard) {\n const scopeActionKey = scopeKey.substring(0, scopeKey.length - 1);\n\n wildCardMatch = actionKey.includes(scopeActionKey);\n }\n\n return wildCardMatch || actionKey === scopeKey;\n }),\n );\n\n const sessionGrantKeyPath = sessionGrantKey.substring(\n 0,\n sessionGrantKey.indexOf(\"/*.\"), //start of extension part.\n );\n const isUploadPathMatching =\n sessionGrantKeyPath === `arn:aws:s3:::${uploadPath}`;\n\n const hasGrant =\n isUploadPathMatching && sessionGrantKey !== \"arn:aws:s3:::*\";\n\n return hasScope && hasGrant;\n };\n\n return Object.keys(grantsWithExtension).filter(checkPathsForPermission);\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport styled from \"styled-components\";\nimport { Link, useNavigate } from \"react-router-dom\";\nimport { encodeURLString, safeDecodeURIComponent } from \"../../../common/utils\";\nimport {\n Button,\n CopyIcon,\n NewPathIcon,\n Tooltip,\n Breadcrumbs,\n breakPoints,\n Box,\n} from \"mds\";\nimport { hasPermission } from \"../../../common/SecureComponent\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../common/SecureComponent/permissions\";\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../store\";\nimport { setVersionsModeEnabled } from \"./objectBrowserSlice\";\nimport { getSessionGrantsWildCard } from \"../Buckets/ListBuckets/UploadPermissionUtils\";\n\nconst CreatePathModal = withSuspense(\n React.lazy(\n () => import(\"../Buckets/ListBuckets/Objects/ListObjects/CreatePathModal\"),\n ),\n);\n\nconst BreadcrumbsMain = styled.div(() => ({\n display: \"flex\",\n \"& .additionalOptions\": {\n paddingRight: \"10px\",\n display: \"flex\",\n alignItems: \"center\",\n [`@media (max-width: ${breakPoints.lg}px)`]: {\n display: \"none\",\n },\n },\n \"& .slashSpacingStyle\": {\n margin: \"0 5px\",\n },\n}));\n\ninterface IObjectBrowser {\n bucketName: string;\n internalPaths: string;\n hidePathButton?: boolean;\n additionalOptions?: React.ReactNode;\n}\n\nconst BrowserBreadcrumbs = ({\n bucketName,\n internalPaths,\n hidePathButton,\n additionalOptions,\n}: IObjectBrowser) => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n\n const rewindEnabled = useSelector(\n (state: AppState) => state.objectBrowser.rewind.rewindEnabled,\n );\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode,\n );\n const versionedFile = useSelector(\n (state: AppState) => state.objectBrowser.versionedFile,\n );\n const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n\n const [createFolderOpen, setCreateFolderOpen] = useState(false);\n const [canCreateSubpath, setCanCreateSubpath] = useState(false);\n\n const putObjectPermScopes = [\n IAM_SCOPES.S3_PUT_OBJECT,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ];\n\n const sessionGrants = useSelector((state: AppState) =>\n state.console.session ? state.console.session.permissions || {} : {},\n );\n\n let paths = internalPaths;\n\n if (internalPaths !== \"\") {\n paths = `/${internalPaths}`;\n }\n\n const splitPaths = paths.split(\"/\").filter((path) => path !== \"\");\n const lastBreadcrumbsIndex = splitPaths.length - 1;\n\n const pathToCheckPerms = bucketName + paths || bucketName;\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n pathToCheckPerms,\n putObjectPermScopes,\n );\n\n useEffect(() => {\n setCanCreateSubpath(false);\n Object.keys(sessionGrants).forEach((grant) => {\n grant.includes(pathToCheckPerms) &&\n grant.includes(\"/*\") &&\n setCanCreateSubpath(true);\n });\n }, [pathToCheckPerms, internalPaths, sessionGrants]);\n\n const canCreatePath =\n hasPermission(\n [pathToCheckPerms, ...sessionGrantWildCards],\n putObjectPermScopes,\n ) ||\n anonymousMode ||\n canCreateSubpath;\n\n let breadcrumbsMap = splitPaths.map((objectItem: string, index: number) => {\n const subSplit = `${splitPaths.slice(0, index + 1).join(\"/\")}/`;\n const route = `/browser/${bucketName}/${\n subSplit ? `${encodeURLString(subSplit)}` : ``\n }`;\n\n if (index === lastBreadcrumbsIndex && objectItem === versionedFile) {\n return null;\n }\n\n return (\n \n /\n {index === lastBreadcrumbsIndex ? (\n \n {safeDecodeURIComponent(objectItem) /*Only for display*/}\n \n ) : (\n {\n dispatch(\n setVersionsModeEnabled({ status: false, objectName: \"\" }),\n );\n }}\n >\n {\n safeDecodeURIComponent(\n objectItem,\n ) /*Only for display to preserve */\n }\n \n )}\n \n );\n });\n\n let versionsItem: any[] = [];\n\n if (versionsMode) {\n versionsItem = [\n \n \n /\n {versionedFile} - Versions\n \n ,\n ];\n }\n\n const listBreadcrumbs: any[] = [\n \n {\n dispatch(setVersionsModeEnabled({ status: false, objectName: \"\" }));\n }}\n >\n {bucketName}\n \n ,\n ...breadcrumbsMap,\n ...versionsItem,\n ];\n\n const closeAddFolderModal = () => {\n setCreateFolderOpen(false);\n };\n\n const goBackFunction = () => {\n if (versionsMode) {\n dispatch(setVersionsModeEnabled({ status: false, objectName: \"\" }));\n } else {\n if (splitPaths.length === 0) {\n navigate(\"/browser\");\n\n return;\n }\n\n const prevPath = splitPaths.slice(0, -1);\n\n navigate(\n `/browser/${bucketName}${\n prevPath.length > 0\n ? `/${encodeURLString(`${prevPath.join(\"/\")}/`)}`\n : \"\"\n }`,\n );\n }\n };\n\n return (\n \n \n {createFolderOpen && (\n \n )}\n \n \n \n }\n variant={\"regular\"}\n onClick={() => {\n dispatch(setSnackBarMessage(\"Path copied to clipboard\"));\n }}\n style={{\n width: \"28px\",\n height: \"28px\",\n color: \"#969FA8\",\n border: \"#969FA8 1px solid\",\n marginRight: 5,\n }}\n />\n \n {additionalOptions}\n \n }\n >\n {listBreadcrumbs}\n \n {!hidePathButton && (\n \n \n )}\n \n div\": {\n fontSize: 12,\n fontWeight: \"normal\",\n flexDirection: \"row\",\n flexWrap: \"nowrap\",\n },\n [`@media (max-width: ${breakPoints.lg}px)`]: {\n display: \"flex\",\n },\n }}\n >\n {additionalOptions}\n \n \n );\n};\n\nexport default BrowserBreadcrumbs;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const isVersionedMode = (status: string | undefined) => {\n return status === \"Enabled\" || status === \"Suspended\";\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { CSSObject } from \"styled-components\";\nimport { Button, DropdownSelector, UploadFolderIcon, UploadIcon } from \"mds\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../../common/SecureComponent\";\nimport TooltipWrapper from \"../../Common/TooltipWrapper/TooltipWrapper\";\nimport { useSelector } from \"react-redux\";\nimport { AppState } from \"../../../../store\";\nimport { getSessionGrantsWildCard } from \"./UploadPermissionUtils\";\n\ninterface IUploadFilesButton {\n uploadPath: string;\n bucketName: string;\n forceDisable?: boolean;\n uploadFileFunction: (closeFunction: () => void) => void;\n uploadFolderFunction: (closeFunction: () => void) => void;\n overrideStyles?: CSSObject;\n}\n\nconst UploadFilesButton = ({\n uploadPath,\n bucketName,\n forceDisable = false,\n uploadFileFunction,\n uploadFolderFunction,\n overrideStyles = {},\n}: IUploadFilesButton) => {\n const [anchorEl, setAnchorEl] = useState(null);\n const [uploadOptionsOpen, uploadOptionsSetOpen] = useState(false);\n\n const anonymousMode = useSelector(\n (state: AppState) => state.system.anonymousMode,\n );\n\n const sessionGrants = useSelector((state: AppState) =>\n state.console.session ? state.console.session.permissions || {} : {},\n );\n\n const putObjectPermScopes = [\n IAM_SCOPES.S3_PUT_OBJECT,\n IAM_SCOPES.S3_PUT_ACTIONS,\n ];\n\n const sessionGrantWildCards = getSessionGrantsWildCard(\n sessionGrants,\n uploadPath,\n putObjectPermScopes,\n );\n\n const openUploadMenu = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n uploadOptionsSetOpen(!uploadOptionsOpen);\n setAnchorEl(event.currentTarget);\n };\n const handleCloseUpload = () => {\n setAnchorEl(null);\n };\n\n const uploadObjectAllowed =\n hasPermission(\n [uploadPath, ...sessionGrantWildCards],\n putObjectPermScopes,\n ) || anonymousMode;\n\n const uploadFolderAllowed = hasPermission(\n [bucketName, ...sessionGrantWildCards],\n putObjectPermScopes,\n false,\n true,\n );\n\n const uploadFolderAction = (action: string) => {\n if (action === \"folder\") {\n uploadFolderFunction(handleCloseUpload);\n return;\n }\n\n uploadFileFunction(handleCloseUpload);\n };\n\n const uploadEnabled: boolean = uploadObjectAllowed || uploadFolderAllowed;\n\n return (\n \n \n }\n variant={\"callAction\"}\n disabled={forceDisable || !uploadEnabled}\n sx={overrideStyles}\n />\n \n ,\n value: \"file\",\n disabled: !uploadObjectAllowed || forceDisable,\n },\n {\n label: \"Upload Folder\",\n icon: ,\n value: \"folder\",\n disabled: !uploadFolderAllowed || forceDisable,\n },\n ]}\n selectedOption={\"\"}\n onSelect={(nValue) => uploadFolderAction(nValue)}\n hideTriggerAction={() => {\n uploadOptionsSetOpen(false);\n }}\n open={uploadOptionsOpen}\n anchorEl={anchorEl}\n anchorOrigin={\"end\"}\n useAnchorWidth\n />\n \n );\n};\n\nexport default UploadFilesButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box, Button, ClosePanelIcon } from \"mds\";\n\ninterface IDetailsListPanel {\n open: boolean;\n className?: string;\n closePanel: () => void;\n children: React.ReactNode;\n}\n\nconst DetailsListPanel = ({\n open,\n closePanel,\n className = \"\",\n children,\n}: IDetailsListPanel) => {\n return (\n \n }\n sx={{\n position: \"absolute\",\n right: 5,\n top: 18,\n padding: 0,\n height: 14,\n \"&:hover:not(:disabled)\": {\n backgroundColor: \"transparent\",\n },\n }}\n />\n {children}\n \n );\n};\n\nexport default DetailsListPanel;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// This object contains variables that will be used across form components.\n\nimport React from \"react\";\nimport { Box } from \"mds\";\nimport { replaceUnicodeChar } from \"../../../../../../common/utils\";\n\ninterface IIconWithLabel {\n icon: React.ReactNode;\n strings: string[];\n}\n\nconst IconWithLabel = ({ icon, strings }: IIconWithLabel) => {\n return (\n \n {icon}\n \n {replaceUnicodeChar(strings[strings.length - 1])}\n \n \n );\n};\n\nexport default IconWithLabel;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\n\nimport {\n FileBookIcon,\n FileCodeIcon,\n FileConfigIcon,\n FileDbIcon,\n FileFontIcon,\n FileImageIcon,\n FileLockIcon,\n FileMissingIcon,\n FileMusicIcon,\n FileNonType,\n FilePdfIcon,\n FilePptIcon,\n FileTxtIcon,\n FileVideoIcon,\n FileXlsIcon,\n FileZipIcon,\n FolderBrowserIcon,\n} from \"mds\";\nimport IconWithLabel from \"./IconWithLabel\";\n\ninterface IExtToIcon {\n icon: any;\n extensions: string[];\n}\n\nexport const extensionToIcon: IExtToIcon[] = [\n {\n icon: ,\n extensions: [\"mp4\", \"mov\", \"avi\", \"mpeg\", \"mpg\"],\n },\n {\n icon: ,\n extensions: [\"mp3\", \"m4a\", \"aac\"],\n },\n {\n icon: ,\n extensions: [\"pdf\"],\n },\n {\n icon: ,\n extensions: [\"ppt\", \"pptx\"],\n },\n {\n icon: ,\n extensions: [\"xls\", \"xlsx\"],\n },\n {\n icon: ,\n extensions: [\"cer\", \"crt\", \"pem\"],\n },\n {\n icon: ,\n extensions: [\"html\", \"xml\", \"css\", \"py\", \"go\", \"php\", \"cpp\", \"h\", \"java\"],\n },\n {\n icon: ,\n extensions: [\"cfg\", \"yaml\"],\n },\n {\n icon: ,\n extensions: [\"sql\"],\n },\n {\n icon: ,\n extensions: [\"ttf\", \"otf\"],\n },\n {\n icon: ,\n extensions: [\"doc\", \"docx\", \"txt\", \"rtf\"],\n },\n {\n icon: ,\n extensions: [\"zip\", \"rar\", \"tar\", \"gz\"],\n },\n {\n icon: ,\n extensions: [\"epub\", \"mobi\", \"azw\", \"azw3\"],\n },\n {\n icon: ,\n extensions: [\"jpeg\", \"jpg\", \"gif\", \"tiff\", \"png\", \"heic\", \"dng\"],\n },\n];\n\nexport const displayFileIconName = (\n element: string,\n returnOnlyIcon: boolean = false,\n) => {\n let elementString = element;\n let icon = ;\n // Element is a folder\n if (element.endsWith(\"/\")) {\n icon = ;\n elementString = element.slice(0, -1);\n }\n\n const lowercaseElement = element.toLowerCase();\n for (const etc of extensionToIcon) {\n for (const ext of etc.extensions) {\n if (lowercaseElement.endsWith(`.${ext}`)) {\n icon = etc.icon;\n }\n }\n }\n\n if (!element.endsWith(\"/\") && element.indexOf(\".\") < 0) {\n icon = ;\n }\n\n const splitItem = elementString.split(\"/\");\n\n if (returnOnlyIcon) {\n return icon;\n }\n\n return ;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Box } from \"mds\";\nimport { safeDecodeURIComponent } from \"../../../../../../common/utils\";\n\ninterface IObjectMetadata {\n metaData: any;\n}\n\nconst itemRendererFn = (element: any) => {\n return Array.isArray(element)\n ? element.map(safeDecodeURIComponent).join(\", \")\n : safeDecodeURIComponent(element);\n};\n\nconst ObjectMetaData = ({ metaData }: IObjectMetadata) => {\n const metaKeys = Object.keys(metaData);\n\n return (\n \n {metaKeys.map((element: string, index: number) => {\n const renderItem = itemRendererFn(metaData[element]);\n return (\n \n {element}\n \n {renderItem}\n \n );\n })}\n \n );\n};\n\nexport default ObjectMetaData;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const months = [\n { value: \"01\", label: \"January\" },\n { value: \"02\", label: \"February\" },\n { value: \"03\", label: \"March\" },\n { value: \"04\", label: \"April\" },\n { value: \"05\", label: \"May\" },\n { value: \"06\", label: \"June\" },\n { value: \"07\", label: \"July\" },\n { value: \"08\", label: \"August\" },\n { value: \"09\", label: \"September\" },\n { value: \"10\", label: \"October\" },\n { value: \"11\", label: \"November\" },\n { value: \"12\", label: \"December\" },\n];\n\nexport const days = Array.from(Array(31), (_, num) => ({\n value: (num + 1).toString(),\n label: (num + 1).toString(),\n}));\n\nconst currentYear = new Date().getFullYear();\n\nexport const years = Array.from(Array(50), (_, numYear) => ({\n value: (numYear + currentYear).toString(),\n label: (numYear + currentYear).toString(),\n}));\n\nexport const validDate = (year: string, month: string, day: string): any[] => {\n const currentDate = Date.parse(`${year}-${month}-${day}`);\n\n if (isNaN(currentDate)) {\n return [false, \"\"];\n }\n\n const parsedMonth = parseInt(month);\n const parsedDay = parseInt(day);\n\n const monthForString = parsedMonth < 10 ? `0${parsedMonth}` : parsedMonth;\n const dayForString = parsedDay < 10 ? `0${parsedDay}` : parsedDay;\n\n const parsedDate = new Date(currentDate).toISOString().split(\"T\")[0];\n const dateString = `${year}-${monthForString}-${dayForString}`;\n\n return [parsedDate === dateString, dateString];\n};\n\n// twoDigitDate gets a two digit string number used for months or days\n// returns \"NaN\" if number is NaN\nexport const twoDigitDate = (num: number): string => {\n return num < 10 ? `0${num}` : `${num}`;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, {\n forwardRef,\n useEffect,\n useImperativeHandle,\n useState,\n} from \"react\";\nimport { Box, HelpIcon, InputLabel, Select, Tooltip } from \"mds\";\nimport { days, months, validDate, years } from \"./utils\";\n\ninterface IDateSelectorProps {\n id: string;\n label: string;\n disableOptions?: boolean;\n tooltip?: string;\n borderBottom?: boolean;\n value?: string;\n onDateChange: (date: string, isValid: boolean) => any;\n}\n\nconst DateSelector = forwardRef(\n (\n {\n id,\n label,\n disableOptions = false,\n tooltip = \"\",\n borderBottom = false,\n onDateChange,\n value = \"\",\n }: IDateSelectorProps,\n ref: any,\n ) => {\n useImperativeHandle(ref, () => ({ resetDate }));\n\n const [month, setMonth] = useState(\"\");\n const [day, setDay] = useState(\"\");\n const [year, setYear] = useState(\"\");\n\n useEffect(() => {\n // verify if there is a current value\n // assume is in the format \"2021-12-30\"\n if (value !== \"\") {\n const valueSplit = value.split(\"-\");\n\n setYear(valueSplit[0]);\n setMonth(valueSplit[1]);\n // Turn to single digit to be displayed on dropdown buttons\n setDay(`${parseInt(valueSplit[2])}`);\n }\n }, [value]);\n\n useEffect(() => {\n const [isValid, dateString] = validDate(year, month, day);\n onDateChange(dateString, isValid);\n }, [month, day, year, onDateChange]);\n\n const resetDate = () => {\n setMonth(\"\");\n setDay(\"\");\n setYear(\"\");\n };\n\n const isDateDisabled = () => {\n if (disableOptions) {\n return disableOptions;\n } else {\n return false;\n }\n };\n\n const monthForDropDown = [{ value: \"\", label: \"\" }, ...months];\n const daysForDrop = [{ value: \"\", label: \"\" }, ...days];\n const yearsForDrop = [{ value: \"\", label: \"\" }, ...years];\n\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n \n \n \n \n \n \n \n )}\n \n \n \n {\n setMonth(newValue);\n }}\n options={monthForDropDown}\n label={\"\"}\n disabled={isDateDisabled()}\n />\n\n {\n setDay(newValue);\n }}\n options={daysForDrop}\n label={\"\"}\n disabled={isDateDisabled()}\n />\n\n {\n setYear(newValue);\n }}\n options={yearsForDrop}\n label={\"\"}\n disabled={isDateDisabled()}\n sx={{\n marginBottom: 12,\n }}\n />\n \n \n );\n },\n);\n\nexport default DateSelector;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { Box, Button, FormLayout, Grid, RadioGroup, Switch } from \"mds\";\nimport { useSelector } from \"react-redux\";\nimport { BucketObject, ObjectRetentionMode } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { encodeURLString } from \"common/utils\";\nimport { modalStyleUtils } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { twoDigitDate } from \"../../../../Common/FormComponents/DateSelector/utils\";\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport DateSelector from \"../../../../Common/FormComponents/DateSelector/DateSelector\";\n\ninterface ISetRetentionProps {\n open: boolean;\n closeModalAndRefresh: (updateInfo: boolean) => void;\n objectName: string;\n bucketName: string;\n objectInfo: BucketObject;\n}\n\ninterface IRefObject {\n resetDate: () => void;\n}\n\nconst SetRetention = ({\n open,\n closeModalAndRefresh,\n objectName,\n objectInfo,\n bucketName,\n}: ISetRetentionProps) => {\n const dispatch = useAppDispatch();\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const [statusEnabled, setStatusEnabled] = useState(true);\n const [type, setType] = useState(\"\");\n const [date, setDate] = useState(\"\");\n const [isDateValid, setIsDateValid] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const [alreadyConfigured, setAlreadyConfigured] = useState(false);\n\n useEffect(() => {\n if (objectInfo.retention_mode) {\n setType(retentionConfig?.mode || ObjectRetentionMode.Governance);\n setAlreadyConfigured(true);\n }\n // get retention_until_date if defined\n if (objectInfo.retention_until_date) {\n const valueDate = new Date(objectInfo.retention_until_date);\n if (valueDate.toString() !== \"Invalid Date\") {\n const year = valueDate.getFullYear();\n const month = twoDigitDate(valueDate.getMonth() + 1);\n const day = valueDate.getDate();\n if (!isNaN(day) && month !== \"NaN\" && !isNaN(year)) {\n setDate(`${year}-${month}-${day}`);\n }\n }\n setAlreadyConfigured(true);\n }\n }, [objectInfo, retentionConfig?.mode]);\n\n const dateElement = useRef(null);\n\n const dateFieldDisabled = () => {\n return !(statusEnabled && (type === \"governance\" || type === \"compliance\"));\n };\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n };\n\n const resetForm = () => {\n setStatusEnabled(false);\n setType(ObjectRetentionMode.Governance);\n if (dateElement.current) {\n dateElement.current.resetDate();\n }\n };\n\n const addRetention = (\n selectedObject: string,\n versionId: string | null,\n expireDate: string,\n ) => {\n api.buckets\n .putObjectRetention(\n bucketName,\n {\n prefix: encodeURLString(selectedObject),\n version_id: versionId || \"\",\n },\n {\n expires: expireDate,\n mode: type as ObjectRetentionMode,\n },\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSaving(false);\n });\n };\n\n const disableRetention = (\n selectedObject: string,\n versionId: string | null,\n ) => {\n api.buckets\n .deleteObjectRetention(bucketName, {\n prefix: encodeURLString(selectedObject),\n version_id: versionId || \"\",\n })\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSaving(false);\n });\n };\n\n const saveNewRetentionPolicy = () => {\n setIsSaving(true);\n const selectedObject = objectInfo.name || \"\";\n const versionId = objectInfo.version_id || null;\n\n const expireDate =\n !statusEnabled && type === \"governance\" ? \"\" : `${date}T23:59:59Z`;\n\n if (!statusEnabled && type === \"governance\") {\n disableRetention(selectedObject, versionId);\n\n return;\n }\n\n addRetention(selectedObject, versionId, expireDate);\n };\n\n const showSwitcher =\n alreadyConfigured && (type === \"governance\" || type === \"\");\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n \n \n );\n};\n\nexport default SetRetention;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { decodeURLString } from \"../../../../../../common/utils\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport { ConfirmDeleteIcon, Switch } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { useSelector } from \"react-redux\";\nimport { isVersionedMode } from \"../../../../../../utils/validationFunctions\";\nimport { BucketVersioningResponse } from \"api/consoleApi\";\n\ninterface IDeleteObjectProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObject: string;\n selectedBucket: string;\n\n versioningInfo: BucketVersioningResponse | undefined;\n selectedVersion?: string;\n}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n versioningInfo,\n selectedVersion = \"\",\n}: IDeleteObjectProps) => {\n const dispatch = useAppDispatch();\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => {\n dispatch(setErrorSnackMessage(err));\n\n // We close the modal box on access denied.\n if (err.detailedError === \"Access Denied.\") {\n closeDeleteModalAndRefresh(true);\n }\n };\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n const [deleteVersions, setDeleteVersions] = useState(false);\n const [bypassGovernance, setBypassGovernance] = useState(false);\n\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const canBypass =\n hasPermission(\n [selectedBucket],\n [IAM_SCOPES.S3_BYPASS_GOVERNANCE_RETENTION],\n ) && retentionConfig?.mode === \"governance\";\n\n if (!selectedObject) {\n return null;\n }\n const onConfirmDelete = () => {\n const decodedSelectedObject = decodeURLString(selectedObject);\n const recursive = decodedSelectedObject.endsWith(\"/\");\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/buckets/${selectedBucket}/objects?prefix=${selectedObject}${\n selectedVersion !== \"\"\n ? `&version_id=${selectedVersion}`\n : `&recursive=${recursive}&all_versions=${deleteVersions}`\n }${bypassGovernance ? \"&bypass=true\" : \"\"}`,\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete: \n {decodeURLString(selectedObject)}{\" \"}\n {selectedVersion !== \"\" ? (\n \n \n \n Version ID:\n \n {selectedVersion}\n \n ) : (\n \"\"\n )}\n ? \n \n {isVersionedMode(versioningInfo?.status) &&\n selectedVersion === \"\" && (\n \n {\n setDeleteVersions(!deleteVersions);\n }}\n description=\"\"\n />\n \n )}\n {canBypass && (deleteVersions || selectedVersion !== \"\") && (\n \n
\n This will remove the object as well as all of its versions,{\" \"}\n \n This action is irreversible.\n
\n \n Are you sure you want to continue?\n \n )}\n \n }\n />\n );\n};\n\nexport default DeleteObject;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { Box, Button, FormLayout, Grid, Switch } from \"mds\";\nimport { BucketObject, ObjectLegalHoldStatus } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { modalStyleUtils } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport { setModalErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\n\ninterface ISetRetentionProps {\n open: boolean;\n closeModalAndRefresh: (reload: boolean) => void;\n objectName: string;\n bucketName: string;\n actualInfo: BucketObject;\n}\n\nconst SetLegalHoldModal = ({\n open,\n closeModalAndRefresh,\n objectName,\n bucketName,\n actualInfo,\n}: ISetRetentionProps) => {\n const dispatch = useAppDispatch();\n const [legalHoldEnabled, setLegalHoldEnabled] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const versionId = actualInfo.version_id;\n\n useEffect(() => {\n const status = get(actualInfo, \"legal_hold_status\", \"OFF\");\n setLegalHoldEnabled(status === \"ON\");\n }, [actualInfo]);\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n setIsSaving(true);\n\n api.buckets\n .putObjectLegalHold(\n bucketName,\n {\n prefix: encodeURLString(objectName),\n version_id: versionId || \"\",\n },\n {\n status: legalHoldEnabled\n ? ObjectLegalHoldStatus.Enabled\n : ObjectLegalHoldStatus.Disabled,\n },\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSaving(false);\n });\n };\n\n const resetForm = () => {\n setLegalHoldEnabled(false);\n };\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n \n \n );\n};\n\nexport default SetLegalHoldModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport get from \"lodash/get\";\nimport styled from \"styled-components\";\nimport {\n AddNewTagIcon,\n Button,\n DisabledIcon,\n EditTagIcon,\n InputBox,\n SectionTitle,\n Box,\n Grid,\n Tag,\n FormLayout,\n} from \"mds\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { encodeURLString } from \"common/utils\";\nimport { useSelector } from \"react-redux\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport { modalStyleUtils } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { SecureComponent } from \"../../../../../../common/SecureComponent\";\nimport {\n selDistSet,\n setModalErrorSnackMessage,\n} from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\ninterface ITagModal {\n modalOpen: boolean;\n bucketName: string;\n actualInfo: BucketObject;\n onCloseAndUpdate: (refresh: boolean) => void;\n}\n\nconst DeleteTag = styled.b(({ theme }) => ({\n color: get(theme, \"signalColors.danger\", \"#C83B51\"),\n marginLeft: 5,\n}));\n\nconst AddTagModal = ({\n modalOpen,\n onCloseAndUpdate,\n bucketName,\n actualInfo,\n}: ITagModal) => {\n const dispatch = useAppDispatch();\n const distributedSetup = useSelector(selDistSet);\n const [newKey, setNewKey] = useState(\"\");\n const [newLabel, setNewLabel] = useState(\"\");\n const [isSending, setIsSending] = useState(false);\n const [deleteEnabled, setDeleteEnabled] = useState(false);\n const [deleteKey, setDeleteKey] = useState(\"\");\n const [deleteLabel, setDeleteLabel] = useState(\"\");\n\n const selectedObject = encodeURLString(actualInfo.name || \"\");\n\n const currentTags = actualInfo.tags;\n const currTagKeys = Object.keys(currentTags || {});\n\n const allPathData = actualInfo.name?.split(\"/\");\n const currentItem = allPathData?.pop() || \"\";\n\n const resetForm = () => {\n setNewLabel(\"\");\n setNewKey(\"\");\n };\n\n const addTagProcess = () => {\n setIsSending(true);\n const newTag: any = {};\n\n newTag[newKey] = newLabel;\n const newTagList = { ...currentTags, ...newTag };\n\n const verID = distributedSetup ? actualInfo.version_id || \"\" : \"null\";\n\n api.buckets\n .putObjectTags(\n bucketName,\n { prefix: selectedObject, version_id: verID },\n { tags: newTagList },\n )\n .then(() => {\n onCloseAndUpdate(true);\n setIsSending(false);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSending(false);\n });\n };\n\n const deleteTagProcess = () => {\n const cleanObject: any = { ...currentTags };\n delete cleanObject[deleteKey];\n\n const verID = distributedSetup ? actualInfo.version_id || \"\" : \"null\";\n\n api.buckets\n .putObjectTags(\n bucketName,\n { prefix: selectedObject, version_id: verID },\n { tags: cleanObject },\n )\n .then(() => {\n onCloseAndUpdate(true);\n setIsSending(false);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setIsSending(false);\n });\n };\n\n const onDeleteTag = (tagKey: string, tag: string) => {\n setDeleteKey(tagKey);\n setDeleteLabel(tag);\n setDeleteEnabled(true);\n };\n\n const cancelDelete = () => {\n setDeleteKey(\"\");\n setDeleteLabel(\"\");\n setDeleteEnabled(false);\n };\n\n const tagsFor = (plural: boolean) => (\n \n Tag{plural ? \"s\" : \"\"} for: {currentItem}\n \n );\n\n return (\n \n {\n onCloseAndUpdate(true);\n }}\n iconColor={deleteEnabled ? \"delete\" : \"default\"}\n titleIcon={deleteEnabled ? : }\n >\n {deleteEnabled ? (\n \n \n {tagsFor(false)}\n Are you sure you want to delete the tag{\" \"}\n \n {deleteKey} : {deleteLabel}\n {\" \"}\n ?\n \n \n \n \n \n \n ) : (\n \n \n \n {tagsFor(true)}\n \n Current Tags:\n \n {currTagKeys.length === 0 ? (\n \n There are no tags for this object\n \n ) : (\n \n )}\n \n {currTagKeys.map((tagKey: string, index: number) => {\n const tag = get(currentTags, `${tagKey}`, \"\");\n if (tag !== \"\") {\n return (\n \n {\n onDeleteTag(tagKey, tag);\n }}\n />\n \n );\n }\n return null;\n })}\n \n \n \n \n \n \n } separator={false}>\n Add New Tag\n \n \n {\n setNewKey(e.target.value);\n }}\n />\n {\n setNewLabel(e.target.value);\n }}\n />\n \n \n \n \n \n \n \n \n )}\n \n \n );\n};\n\nexport default AddTagModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport {\n Button,\n InspectMenuIcon,\n PasswordKeyIcon,\n Switch,\n Grid,\n Box,\n} from \"mds\";\nimport {\n decodeURLString,\n deleteCookie,\n encodeURLString,\n getCookieValue,\n performDownload,\n} from \"../../../../../../common/utils\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport { modalStyleUtils } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport KeyRevealer from \"../../../../Tools/KeyRevealer\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\n\ninterface IInspectObjectProps {\n closeInspectModalAndRefresh: (refresh: boolean) => void;\n inspectOpen: boolean;\n inspectPath: string;\n volumeName: string;\n}\n\nconst InspectObject = ({\n closeInspectModalAndRefresh,\n inspectOpen,\n inspectPath,\n volumeName,\n}: IInspectObjectProps) => {\n const dispatch = useAppDispatch();\n const onClose = () => closeInspectModalAndRefresh(false);\n const [isEncrypt, setIsEncrypt] = useState(true);\n const [decryptionKey, setDecryptionKey] = useState(\"\");\n const [insFileName, setInsFileName] = useState(\"\");\n\n if (!inspectPath) {\n return null;\n }\n const makeRequest = async (url: string) => {\n return await fetch(url, { method: \"GET\" });\n };\n\n const performInspect = async () => {\n const file = encodeURLString(inspectPath + \"/xl.meta\");\n const volume = encodeURLString(volumeName);\n\n let basename = document.baseURI.replace(window.location.origin, \"\");\n const urlOfInspectApi = `${window.location.origin}${basename}/api/v1/admin/inspect?volume=${volume}&file=${file}&encrypt=${isEncrypt}`;\n\n makeRequest(urlOfInspectApi)\n .then(async (res) => {\n if (!res.ok) {\n const resErr: any = await res.json();\n\n dispatch(\n setErrorSnackMessage({\n errorMessage: resErr.message,\n detailedError: resErr.code,\n }),\n );\n }\n const blob: Blob = await res.blob();\n\n //@ts-ignore\n const filename = res.headers.get(\"content-disposition\").split('\"')[1];\n const decryptKey = getCookieValue(filename) || \"\";\n\n performDownload(blob, filename);\n setInsFileName(filename);\n if (decryptKey === \"\") {\n onClose();\n return;\n }\n setDecryptionKey(decryptKey);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(err));\n });\n };\n\n const onCloseDecKeyModal = () => {\n deleteCookie(insFileName);\n onClose();\n setDecryptionKey(\"\");\n };\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n };\n\n return (\n \n {!decryptionKey && (\n }\n title={`Inspect Object`}\n onClose={onClose}\n >\n \n \n )}\n {decryptionKey ? (\n }\n >\n \n This will be displayed only once. It cannot be recovered.\n \n Use secure medium to share this key.\n \n \n \n \n \n ) : null}\n \n );\n};\n\nexport default InspectObject;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { Button, EditIcon, FormLayout, Grid, InputBox, Switch } from \"mds\";\nimport { modalStyleUtils } from \"../Common/FormComponents/common/styleLibrary\";\nimport { useAppDispatch } from \"../../../store\";\nimport { downloadObject } from \"./utils\";\nimport { BucketObject } from \"api/consoleApi\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\n\ninterface IRenameLongFilename {\n open: boolean;\n bucketName: string;\n internalPaths: string;\n currentItem: string;\n actualInfo: BucketObject;\n closeModal: () => void;\n}\n\nconst RenameLongFileName = ({\n open,\n closeModal,\n currentItem,\n internalPaths,\n actualInfo,\n bucketName,\n}: IRenameLongFilename) => {\n const dispatch = useAppDispatch();\n\n const [newFileName, setNewFileName] = useState(currentItem);\n const [acceptLongName, setAcceptLongName] = useState(false);\n\n const doDownload = (e: React.FormEvent) => {\n e.preventDefault();\n downloadObject(dispatch, bucketName, internalPaths, actualInfo);\n closeModal();\n };\n\n return (\n }\n >\n
\n The file you are trying to download has a long name.\n \n This can cause issues on Windows Systems by trimming the file name after\n download.\n \n We recommend to rename the file download\n
\n \n \n );\n};\n\nexport default RenameLongFileName;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { useSelector } from \"react-redux\";\nimport {\n ActionsList,\n Box,\n Button,\n DeleteIcon,\n DownloadIcon,\n Grid,\n InspectMenuIcon,\n LegalHoldIcon,\n Loader,\n MetadataIcon,\n ObjectInfoIcon,\n PreviewIcon,\n RetentionIcon,\n ShareIcon,\n SimpleHeader,\n TagsIcon,\n VersionsIcon,\n} from \"mds\";\nimport { api } from \"api\";\nimport { downloadObject } from \"../../../../ObjectBrowser/utils\";\nimport { BucketObject, BucketVersioningResponse } from \"api/consoleApi\";\nimport { AllowedPreviews, previewObjectType } from \"../utils\";\nimport {\n decodeURLString,\n niceBytes,\n niceBytesInt,\n niceDaysInt,\n} from \"../../../../../../common/utils\";\nimport {\n IAM_SCOPES,\n permissionTooltipHelper,\n} from \"../../../../../../common/SecureComponent/permissions\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../../../common/SecureComponent\";\nimport { selDistSet } from \"../../../../../../systemSlice\";\nimport {\n setLoadingObjectInfo,\n setLoadingVersions,\n setSelectedVersion,\n setVersionsModeEnabled,\n} from \"../../../../ObjectBrowser/objectBrowserSlice\";\nimport { displayFileIconName } from \"./utils\";\nimport PreviewFileModal from \"../Preview/PreviewFileModal\";\nimport ObjectMetaData from \"../ObjectDetails/ObjectMetaData\";\nimport ShareFile from \"../ObjectDetails/ShareFile\";\nimport SetRetention from \"../ObjectDetails/SetRetention\";\nimport DeleteObject from \"../ListObjects/DeleteObject\";\nimport SetLegalHoldModal from \"../ObjectDetails/SetLegalHoldModal\";\nimport TagsModal from \"../ObjectDetails/TagsModal\";\nimport InspectObject from \"./InspectObject\";\nimport RenameLongFileName from \"../../../../ObjectBrowser/RenameLongFilename\";\nimport TooltipWrapper from \"../../../../Common/TooltipWrapper/TooltipWrapper\";\n\nconst emptyFile: BucketObject = {\n is_latest: true,\n last_modified: \"\",\n legal_hold_status: \"\",\n name: \"\",\n retention_mode: \"\",\n retention_until_date: \"\",\n size: 0,\n tags: {},\n version_id: undefined,\n};\n\ninterface IObjectDetailPanelProps {\n internalPaths: string;\n bucketName: string;\n versioningInfo: BucketVersioningResponse;\n locking: boolean | undefined;\n onClosePanel: (hardRefresh: boolean) => void;\n}\n\nconst ObjectDetailPanel = ({\n internalPaths,\n bucketName,\n versioningInfo,\n locking,\n onClosePanel,\n}: IObjectDetailPanelProps) => {\n const dispatch = useAppDispatch();\n\n const distributedSetup = useSelector(selDistSet);\n const versionsMode = useSelector(\n (state: AppState) => state.objectBrowser.versionsMode,\n );\n const selectedVersion = useSelector(\n (state: AppState) => state.objectBrowser.selectedVersion,\n );\n const loadingObjectInfo = useSelector(\n (state: AppState) => state.objectBrowser.loadingObjectInfo,\n );\n\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [retentionModalOpen, setRetentionModalOpen] = useState(false);\n const [tagModalOpen, setTagModalOpen] = useState(false);\n const [legalholdOpen, setLegalholdOpen] = useState(false);\n const [inspectModalOpen, setInspectModalOpen] = useState(false);\n const [actualInfo, setActualInfo] = useState(null);\n const [allInfoElements, setAllInfoElements] = useState([]);\n const [objectToShare, setObjectToShare] = useState(null);\n const [versions, setVersions] = useState([]);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [previewOpen, setPreviewOpen] = useState(false);\n const [totalVersionsSize, setTotalVersionsSize] = useState(0);\n const [longFileOpen, setLongFileOpen] = useState(false);\n const [metaData, setMetaData] = useState(null);\n const [loadMetadata, setLoadingMetadata] = useState(false);\n\n const internalPathsDecoded = decodeURLString(internalPaths) || \"\";\n const allPathData = internalPathsDecoded.split(\"/\");\n const currentItem = allPathData.pop() || \"\";\n\n // calculate object name to display\n let objectNameArray: string[] = [];\n if (actualInfo && actualInfo.name) {\n objectNameArray = actualInfo.name.split(\"/\");\n }\n\n useEffect(() => {\n if (distributedSetup && allInfoElements && allInfoElements.length >= 1) {\n let infoElement =\n allInfoElements.find((el: BucketObject) => el.is_latest) || emptyFile;\n\n if (selectedVersion !== \"\") {\n infoElement =\n allInfoElements.find(\n (el: BucketObject) => el.version_id === selectedVersion,\n ) || emptyFile;\n }\n\n if (!infoElement.is_delete_marker) {\n setLoadingMetadata(true);\n }\n\n setActualInfo(infoElement);\n }\n }, [selectedVersion, distributedSetup, allInfoElements]);\n\n useEffect(() => {\n if (loadingObjectInfo && internalPaths !== \"\") {\n api.buckets\n .listObjects(bucketName, {\n prefix: internalPaths,\n with_versions: distributedSetup,\n })\n .then((res) => {\n const result: BucketObject[] = res.data.objects || [];\n if (distributedSetup) {\n setAllInfoElements(result);\n setVersions(result);\n\n const tVersionSize = result.reduce(\n (acc: number, currValue: BucketObject): number => {\n if (currValue?.size) {\n return acc + currValue.size;\n }\n return acc;\n },\n 0,\n );\n\n setTotalVersionsSize(tVersionSize);\n } else {\n const resInfo = result[0];\n\n setActualInfo(resInfo);\n setVersions([]);\n\n if (!resInfo.is_delete_marker) {\n setLoadingMetadata(true);\n }\n }\n\n dispatch(setLoadingObjectInfo(false));\n })\n .catch((err) => {\n console.error(\"Error loading object details\", err.error);\n dispatch(setLoadingObjectInfo(false));\n });\n }\n }, [\n loadingObjectInfo,\n bucketName,\n internalPaths,\n dispatch,\n distributedSetup,\n selectedVersion,\n ]);\n\n useEffect(() => {\n if (loadMetadata && internalPaths !== \"\") {\n api.buckets\n .getObjectMetadata(bucketName, {\n prefix: internalPaths,\n versionID: actualInfo?.version_id || \"\",\n })\n .then((res) => {\n let metadata = get(res.data, \"objectMetadata\", {});\n\n setMetaData(metadata);\n setLoadingMetadata(false);\n })\n .catch((err) => {\n console.error(\"Error Getting Metadata Status: \", err.detailedError);\n setLoadingMetadata(false);\n });\n }\n }, [bucketName, internalPaths, loadMetadata, actualInfo?.version_id]);\n\n let tagKeys: string[] = [];\n\n if (actualInfo && actualInfo.tags) {\n tagKeys = Object.keys(actualInfo.tags);\n }\n\n const openRetentionModal = () => {\n setRetentionModalOpen(true);\n };\n\n const closeRetentionModal = (updateInfo: boolean) => {\n setRetentionModalOpen(false);\n if (updateInfo) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const shareObject = () => {\n setShareFileModalOpen(true);\n };\n\n const closeShareModal = () => {\n setObjectToShare(null);\n setShareFileModalOpen(false);\n };\n\n const closeFileOpen = () => {\n setLongFileOpen(false);\n };\n\n const closeDeleteModal = (closeAndReload: boolean) => {\n setDeleteOpen(false);\n\n if (closeAndReload && selectedVersion === \"\") {\n onClosePanel(true);\n } else {\n dispatch(setLoadingVersions(true));\n dispatch(setSelectedVersion(\"\"));\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeAddTagModal = (reloadObjectData: boolean) => {\n setTagModalOpen(false);\n if (reloadObjectData) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeInspectModal = (reloadObjectData: boolean) => {\n setInspectModalOpen(false);\n if (reloadObjectData) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const closeLegalholdModal = (reload: boolean) => {\n setLegalholdOpen(false);\n if (reload) {\n dispatch(setLoadingObjectInfo(true));\n }\n };\n\n const loaderForContainer = (\n
\n \n {selectedVersion !== \"\" && (\n \n Version ID:\n \n {selectedVersion}\n \n )}\n \n Size:\n \n {niceBytes(`${actualInfo.size || \"0\"}`)}\n \n {actualInfo.version_id &&\n actualInfo.version_id !== \"null\" &&\n selectedVersion === \"\" && (\n \n Versions:\n \n {versions.length} version{versions.length !== 1 ? \"s\" : \"\"},{\" \"}\n {niceBytesInt(totalVersionsSize)}\n \n )}\n {selectedVersion === \"\" && (\n \n Last Modified:\n \n {calculateLastModifyTime(actualInfo.last_modified || \"\")}\n \n )}\n \n ETAG:\n \n {actualInfo.etag || \"N/A\"}\n \n \n Tags:\n \n {tagKeys.length === 0\n ? \"N/A\"\n : tagKeys.map((tagKey, index) => {\n return (\n \n {tagKey}:{get(actualInfo, `tags.${tagKey}`, \"\")}\n {index < tagKeys.length - 1 ? \", \" : \"\"}\n \n );\n })}\n \n \n \n \n Legal Hold:\n \n {actualInfo.legal_hold_status ? \"On\" : \"Off\"}\n \n \n \n \n \n \n Retention Policy:\n \n \n {actualInfo.version_id && actualInfo.version_id !== \"null\" ? (\n \n {actualInfo.retention_mode\n ? actualInfo.retention_mode.toLowerCase()\n : \"None\"}\n \n ) : (\n \n {actualInfo.retention_mode\n ? actualInfo.retention_mode.toLowerCase()\n : \"None\"}\n \n )}\n \n \n \n \n {!actualInfo.is_delete_marker && (\n \n } />\n \n {actualInfo && metaData ? (\n \n ) : null}\n \n \n )}\n \n )}\n \n );\n};\n\nexport default ObjectDetailPanel;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { Box, RecoverIcon } from \"mds\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport { restoreLocalObjectList } from \"../../../../ObjectBrowser/objectBrowserSlice\";\n\ninterface IRestoreFileVersion {\n restoreOpen: boolean;\n bucketName: string;\n versionToRestore: BucketObject;\n objectPath: string;\n onCloseAndUpdate: (refresh: boolean) => void;\n}\n\nconst RestoreFileVersion = ({\n versionToRestore,\n bucketName,\n objectPath,\n restoreOpen,\n onCloseAndUpdate,\n}: IRestoreFileVersion) => {\n const dispatch = useAppDispatch();\n const [restoreLoading, setRestoreLoading] = useState(false);\n\n const restoreVersion = () => {\n setRestoreLoading(true);\n\n api.buckets\n .putObjectRestore(bucketName, {\n prefix: encodeURLString(objectPath),\n version_id: versionToRestore.version_id || \"\",\n })\n .then(() => {\n setRestoreLoading(false);\n onCloseAndUpdate(true);\n dispatch(\n restoreLocalObjectList({\n prefix: objectPath,\n objectInfo: versionToRestore,\n }),\n );\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setRestoreLoading(false);\n });\n };\n\n return (\n }\n onConfirm={restoreVersion}\n confirmButtonProps={{\n variant: \"secondary\",\n disabled: restoreLoading,\n }}\n onClose={() => {\n onCloseAndUpdate(false);\n }}\n confirmationContent={\n \n Are you sure you want to restore \n {objectPath} with Version ID:\n \n {versionToRestore.version_id}?\n \n }\n />\n );\n};\n\nexport default RestoreFileVersion;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\n\ninterface ISpecificVersionPillProps {\n type: \"null\" | \"current\" | \"deleted\";\n}\n\nconst SpecificVersionPill = ({ type }: ISpecificVersionPillProps) => {\n let bgColor = \"#000\";\n let message = \"\";\n\n switch (type) {\n case \"null\":\n bgColor = \"#07193E\";\n message = \"NULL VERSION\";\n break;\n case \"deleted\":\n bgColor = \"#868686\";\n message = \"DELETED\";\n break;\n default:\n bgColor = \"#174551\";\n message = \"CURRENT VERSION\";\n }\n\n return (\n \n {message}\n \n );\n};\n\nexport default SpecificVersionPill;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { DateTime } from \"luxon\";\nimport styled from \"styled-components\";\nimport get from \"lodash/get\";\nimport { displayFileIconName } from \"../ListObjects/utils\";\nimport {\n DownloadIcon,\n PreviewIcon,\n RecoverIcon,\n ShareIcon,\n IconButton,\n Tooltip,\n Grid,\n Checkbox,\n} from \"mds\";\nimport { niceBytes } from \"../../../../../../common/utils\";\nimport SpecificVersionPill from \"./SpecificVersionPill\";\nimport { BucketObject } from \"api/consoleApi\";\n\ninterface IFileVersionItem {\n fileName: string;\n versionInfo: BucketObject;\n index: number;\n isSelected?: boolean;\n checkable: boolean;\n isChecked: boolean;\n onCheck: (versionID: string) => void;\n onShare: (versionInfo: BucketObject) => void;\n onDownload: (versionInfo: BucketObject) => void;\n onRestore: (versionInfo: BucketObject) => void;\n onPreview: (versionInfo: BucketObject) => void;\n globalClick: (versionInfo: BucketObject) => void;\n key: any;\n style: any;\n}\n\nconst FileVersionStyled = styled.div(({ theme }) => {\n return {\n \"&:before\": {\n content: \"' '\",\n display: \"block\",\n position: \"absolute\",\n width: \"2px\",\n height: \"calc(100% + 2px)\",\n backgroundColor: get(theme, \"borderColor\", \"#F8F8F8\"),\n left: \"24px\",\n },\n \"& .mainFileVersionItem\": {\n borderBottom: `${get(theme, \"borderColor\", \"#F8F8F8\")} 1px solid`,\n padding: \"1rem 0\",\n margin: \"0 0.5rem 0 2.5rem\",\n cursor: \"pointer\",\n \"&.deleted\": {\n color: \"#868686\",\n },\n },\n \"& .intermediateLayer\": {\n margin: \"0 1.5rem 0 1.5rem\",\n \"&:hover, &.selected\": {\n backgroundColor: get(theme, \"boxBackground\", \"#F8F8F8\"),\n \"& > div\": {\n borderBottomColor: get(theme, \"boxBackground\", \"#F8F8F8\"),\n },\n },\n },\n \"& .versionContainer\": {\n fontSize: 16,\n fontWeight: \"bold\",\n display: \"flex\",\n alignItems: \"center\",\n \"& svg.min-icon\": {\n width: 18,\n height: 18,\n minWidth: 18,\n minHeight: 18,\n marginRight: 10,\n },\n },\n \"& .buttonContainer\": {\n textAlign: \"right\",\n \"& button\": {\n marginLeft: \"1.5rem\",\n },\n },\n \"& .versionID\": {\n fontSize: \"12px\",\n margin: \"2px 0\",\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n maxWidth: \"95%\",\n overflow: \"hidden\",\n },\n \"& .versionData\": {\n marginRight: \"10px\",\n fontSize: 12,\n color: \"#868686\",\n },\n \"@media (max-width: 600px)\": {\n \"& .buttonContainer\": {\n \"& button\": {\n marginLeft: \"5px\",\n },\n },\n },\n \"@media (max-width: 799px)\": {\n \"&:before\": {\n display: \"none\",\n },\n \"& .mainFileVersionItem\": {\n padding: \"5px 0px\",\n margin: 0,\n },\n \"& .intermediateLayer\": {\n margin: 0,\n \"&:hover, &.selected\": {\n backgroundColor: \"transparent\",\n \"& > div\": {\n borderBottomColor: get(theme, \"boxBackground\", \"#F8F8F8\"),\n },\n },\n },\n \"& .versionContainer\": {\n fontSize: 14,\n \"& svg.min-icon\": {\n display: \"none\",\n },\n },\n \"& .versionData\": {\n textOverflow: \"ellipsis\",\n maxWidth: \"95%\",\n overflow: \"hidden\",\n whiteSpace: \"nowrap\",\n },\n \"& .collapsableInfo\": {\n display: \"flex\",\n flexDirection: \"column\",\n },\n \"& .versionItem\": {\n display: \"none\",\n },\n },\n };\n});\n\nconst FileVersionItem = ({\n fileName,\n versionInfo,\n isSelected,\n checkable,\n isChecked,\n onCheck,\n onShare,\n onDownload,\n onRestore,\n onPreview,\n globalClick,\n index,\n key,\n style,\n}: IFileVersionItem) => {\n const disableButtons = versionInfo.is_delete_marker;\n\n const versionItemButtons = [\n {\n icon: ,\n action: onPreview,\n tooltip: \"Preview\",\n },\n {\n icon: ,\n action: onDownload,\n tooltip: \"Download this version\",\n },\n {\n icon: ,\n action: onShare,\n tooltip: \"Share this version\",\n },\n {\n icon: ,\n action: onRestore,\n tooltip: \"Restore this version\",\n },\n ];\n\n let pill: \"deleted\" | \"current\" | \"null\" | null = null;\n\n if (versionInfo.is_delete_marker) {\n pill = \"deleted\";\n } else if (versionInfo.is_latest) {\n pill = \"current\";\n } else if (versionInfo.version_id === \"null\") {\n pill = \"null\";\n }\n\n let lastModified = DateTime.now();\n\n if (versionInfo.last_modified) {\n lastModified = DateTime.fromISO(\n versionInfo.last_modified,\n ) as DateTime;\n }\n\n return (\n \n {\n globalClick(versionInfo);\n }}\n key={key}\n style={style}\n >\n \n \n \n \n \n {checkable && (\n {\n e.stopPropagation();\n onCheck(versionInfo.version_id || \"\");\n }}\n value={versionInfo.version_id || \"\"}\n disabled={versionInfo.is_delete_marker}\n sx={{\n width: \"initial\",\n }}\n />\n )}\n {displayFileIconName(fileName, true)} v{index.toString()}\n \n {pill && }\n \n \n \n {versionItemButtons.map((button, index) => {\n return (\n \n {\n e.stopPropagation();\n if (!disableButtons) {\n button.action(versionInfo);\n } else {\n e.preventDefault();\n }\n }}\n sx={{\n backgroundColor: \"#F8F8F8\",\n borderRadius: \"100%\",\n width: \"28px\",\n height: \"28px\",\n padding: \"5px\",\n \"& .min-icon\": {\n width: \"14px\",\n height: \"14px\",\n },\n }}\n >\n {button.icon}\n \n \n );\n })}\n \n \n \n \n {versionInfo.version_id !== \"null\" ? versionInfo.version_id : \"-\"}\n \n \n \n Last modified:{\" \"}\n {lastModified.toFormat(\"ccc, LLL dd yyyy HH:mm:ss (ZZZZ)\")}\n \n \n Size: {niceBytes(`${versionInfo.size || \"0\"}`)}\n \n \n \n \n \n \n );\n};\n\nexport default FileVersionItem;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\n\nimport { decodeURLString } from \"../../../../../../common/utils\";\nimport { ConfirmDeleteIcon, Switch, Grid, InputBox } from \"mds\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { useSelector } from \"react-redux\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\n\ninterface IDeleteNonCurrentProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObject: string;\n selectedBucket: string;\n}\n\nconst DeleteNonCurrentVersions = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n}: IDeleteNonCurrentProps) => {\n const dispatch = useAppDispatch();\n const [deleteLoading, setDeleteLoading] = useState(false);\n const [typeConfirm, setTypeConfirm] = useState(\"\");\n const [bypassGovernance, setBypassGovernance] = useState(false);\n\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const canBypass =\n hasPermission(\n [selectedBucket],\n [IAM_SCOPES.S3_BYPASS_GOVERNANCE_RETENTION],\n ) && retentionConfig?.mode === \"governance\";\n\n useEffect(() => {\n if (deleteLoading) {\n api.buckets\n .deleteObject(selectedBucket, {\n prefix: selectedObject,\n non_current_versions: true,\n bypass: bypassGovernance,\n })\n .then(() => {\n closeDeleteModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setDeleteLoading(false);\n });\n }\n }, [\n deleteLoading,\n closeDeleteModalAndRefresh,\n dispatch,\n selectedObject,\n selectedBucket,\n bypassGovernance,\n ]);\n\n if (!selectedObject) {\n return null;\n }\n const onConfirmDelete = () => {\n setDeleteLoading(true);\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={() => closeDeleteModalAndRefresh(false)}\n confirmButtonProps={{\n disabled: typeConfirm !== \"YES, PROCEED\" || deleteLoading,\n }}\n confirmationContent={\n \n Are you sure you want to delete all the non-current versions for:{\" \"}\n {decodeURLString(selectedObject)}? \n {canBypass && (\n \n
\n \n )}\n \n To continue please type YES, PROCEED in the box.\n \n \n \n ) => {\n setTypeConfirm(event.target.value);\n }}\n label=\"\"\n value={typeConfirm}\n />\n \n \n }\n />\n );\n};\n\nexport default DeleteNonCurrentVersions;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon, Switch } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../../../systemSlice\";\nimport { AppState, useAppDispatch } from \"../../../../../../store\";\nimport { hasPermission } from \"../../../../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { useSelector } from \"react-redux\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\n\ninterface IDeleteSelectedVersionsProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedVersions: string[];\n selectedObject: string;\n selectedBucket: string;\n}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedVersions,\n selectedObject,\n}: IDeleteSelectedVersionsProps) => {\n const dispatch = useAppDispatch();\n const [deleteLoading, setDeleteLoading] = useState(false);\n const [bypassGovernance, setBypassGovernance] = useState(false);\n\n const retentionConfig = useSelector(\n (state: AppState) => state.objectBrowser.retentionConfig,\n );\n\n const canBypass =\n hasPermission(\n [selectedBucket],\n [IAM_SCOPES.S3_BYPASS_GOVERNANCE_RETENTION],\n ) && retentionConfig?.mode === \"governance\";\n\n const onClose = () => closeDeleteModalAndRefresh(false);\n const onConfirmDelete = () => {\n setDeleteLoading(true);\n };\n\n useEffect(() => {\n if (deleteLoading) {\n const selectedObjectsRequest = selectedVersions.map((versionID) => {\n return {\n path: selectedObject,\n versionID: versionID,\n recursive: false,\n };\n });\n\n if (selectedObjectsRequest.length > 0) {\n api.buckets\n .deleteMultipleObjects(selectedBucket, selectedObjectsRequest, {\n all_versions: false,\n bypass: bypassGovernance,\n })\n .then(() => {\n setDeleteLoading(false);\n closeDeleteModalAndRefresh(true);\n })\n .catch((err) => {\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n setDeleteLoading(false);\n });\n }\n }\n }, [\n deleteLoading,\n closeDeleteModalAndRefresh,\n selectedBucket,\n selectedObject,\n selectedVersions,\n bypassGovernance,\n dispatch,\n ]);\n\n if (!selectedVersions) {\n return null;\n }\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete the selected {selectedVersions.length}{\" \"}\n versions for {selectedObject}?\n {canBypass && (\n \n
\n )}\n \n \n );\n};\n\nexport default DaysSelector;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport {\n Button,\n CopyIcon,\n ReadBox,\n ShareIcon,\n Grid,\n ProgressBar,\n Tooltip,\n} from \"mds\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport DaysSelector from \"../../../../Common/FormComponents/DaysSelector/DaysSelector\";\nimport {\n encodeURLString,\n niceTimeFromSeconds,\n} from \"../../../../../../common/utils\";\nimport {\n selDistSet,\n setModalErrorSnackMessage,\n setModalSnackMessage,\n} from \"../../../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport { BucketObject } from \"api/consoleApi\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport { getMaxShareLinkExpTime } from \"screens/Console/ObjectBrowser/objectBrowserThunks\";\nimport { maxShareLinkExpTime } from \"screens/Console/ObjectBrowser/objectBrowserSlice\";\n\ninterface IShareFileProps {\n open: boolean;\n bucketName: string;\n dataObject: BucketObject;\n closeModalAndRefresh: () => void;\n}\n\nconst ShareFile = ({\n open,\n closeModalAndRefresh,\n bucketName,\n dataObject,\n}: IShareFileProps) => {\n const dispatch = useAppDispatch();\n const distributedSetup = useSelector(selDistSet);\n const maxshareLinkExpTimeVal = useSelector(maxShareLinkExpTime);\n const [shareURL, setShareURL] = useState(\"\");\n const [isLoadingVersion, setIsLoadingVersion] = useState(true);\n const [isLoadingFile, setIsLoadingFile] = useState(false);\n const [selectedDate, setSelectedDate] = useState(\"\");\n const [dateValid, setDateValid] = useState(true);\n const [versionID, setVersionID] = useState(\"null\");\n\n const initialDate = new Date();\n\n const dateChanged = (newDate: string, isValid: boolean) => {\n setDateValid(isValid);\n if (isValid) {\n setSelectedDate(newDate);\n return;\n }\n setSelectedDate(\"\");\n setShareURL(\"\");\n };\n\n useEffect(() => {\n dispatch(getMaxShareLinkExpTime());\n }, [dispatch]);\n\n useEffect(() => {\n // In case version is undefined, we get the latest version of the object\n if (dataObject.version_id === undefined) {\n // In case it is not distributed setup, then we default to \"null\";\n if (distributedSetup) {\n api.buckets\n .listObjects(bucketName, {\n prefix: encodeURLString(dataObject.name || \"\"),\n with_versions: distributedSetup,\n })\n .then((res) => {\n const result: BucketObject[] = res.data.objects || [];\n\n const latestVersion: BucketObject | undefined = result.find(\n (elem: BucketObject) => elem.is_latest,\n );\n\n if (latestVersion) {\n setVersionID(`${latestVersion.version_id}`);\n return;\n }\n\n // Version couldn't be retrieved, we default\n setVersionID(\"null\");\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n });\n\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(\"null\");\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(dataObject.version_id || \"null\");\n setIsLoadingVersion(false);\n }, [bucketName, dataObject, distributedSetup, dispatch]);\n\n useEffect(() => {\n if (dateValid && !isLoadingVersion) {\n setIsLoadingFile(true);\n setShareURL(\"\");\n\n const slDate = new Date(`${selectedDate}`);\n const currDate = new Date();\n\n const diffDate = Math.ceil(\n (slDate.getTime() - currDate.getTime()) / 1000,\n );\n\n if (diffDate > 0) {\n api.buckets\n .shareObject(bucketName, {\n prefix: encodeURLString(dataObject.name || \"\"),\n version_id: versionID,\n expires: selectedDate !== \"\" ? `${diffDate}s` : \"\",\n })\n .then((res) => {\n setShareURL(res.data);\n setIsLoadingFile(false);\n })\n .catch((err) => {\n dispatch(setModalErrorSnackMessage(errorToHandler(err.error)));\n setShareURL(\"\");\n setIsLoadingFile(false);\n });\n }\n }\n }, [\n dataObject,\n selectedDate,\n bucketName,\n dateValid,\n setShareURL,\n dispatch,\n distributedSetup,\n isLoadingVersion,\n versionID,\n ]);\n\n return (\n \n }\n modalOpen={open}\n onClose={() => {\n closeModalAndRefresh();\n }}\n >\n {isLoadingVersion && (\n \n \n \n )}\n {!isLoadingVersion && (\n \n \n \n You can reset your session by logging out and logging back\n in to the web UI.
\n You can increase the maximum configuration time by setting\n the MINIO_STS_DURATION environment variable on all your\n nodes.
\n You can use mc share as an alternative to this UI,\n where the session length does not limit the URL validity.\n \n }\n >\n \n The following URL lets you share this object without requiring\n a login. \n The URL expires automatically at the earlier of your\n configured time ({niceTimeFromSeconds(maxshareLinkExpTimeVal)}\n ) or the expiration of your current web session.\n \n \n \n \n \n \n \n \n \n \n \n \n )}\n \n \n );\n};\n\nexport default ShareFile;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport { Document, Page, pdfjs } from \"react-pdf\";\nimport { Box, Button, InformativeMessage } from \"mds\";\n\npdfjs.GlobalWorkerOptions.workerSrc = \"./scripts/pdf.worker.min.js\";\n\ninterface IPreviewPDFProps {\n path: string;\n loading: boolean;\n onLoad: () => void;\n downloadFile: () => void;\n}\n\nconst PreviewPDF = ({\n path,\n loading,\n onLoad,\n downloadFile,\n}: IPreviewPDFProps) => {\n const [errorState, setErrorState] = useState(false);\n const [totalPages, setTotalPages] = useState(0);\n\n if (!path) {\n return null;\n }\n\n const renderPages = totalPages > 5 ? 5 : totalPages;\n const arrayCreate = Array.from(Array(renderPages).keys());\n\n return (\n \n {errorState && totalPages === 0 && (\n \n File preview couldn't be displayed, Please try Download instead.\n \n \n \n \n }\n sx={{ marginBottom: 10 }}\n />\n )}\n {!loading && !errorState && (\n \n This is a File Preview for the first {arrayCreate.length} pages of\n the document, if you wish to work with the full document please\n download instead.\n \n \n \n \n }\n sx={{ marginBottom: 10 }}\n />\n )}\n {!errorState && (\n \n {\n setTotalPages(_pdfInfo.numPages || 0);\n setErrorState(false);\n onLoad();\n }}\n onLoadError={(error) => {\n setErrorState(true);\n onLoad();\n console.error(error);\n }}\n >\n {arrayCreate.map((item) => (\n \n ))}\n \n \n )}\n \n );\n};\n\nexport default PreviewPDF;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { ProgressBar, Grid, Box, InformativeMessage } from \"mds\";\nimport get from \"lodash/get\";\nimport { AllowedPreviews, previewObjectType } from \"../utils\";\nimport { encodeURLString } from \"../../../../../../common/utils\";\nimport { api } from \"../../../../../../api\";\nimport PreviewPDF from \"./PreviewPDF\";\nimport { downloadObject } from \"../../../../ObjectBrowser/utils\";\nimport { useAppDispatch } from \"../../../../../../store\";\nimport { BucketObject } from \"../../../../../../api/consoleApi\";\n\ninterface IPreviewFileProps {\n bucketName: string;\n actualInfo: BucketObject;\n isFullscreen?: boolean;\n}\n\nconst PreviewFile = ({\n bucketName,\n actualInfo,\n isFullscreen = false,\n}: IPreviewFileProps) => {\n const dispatch = useAppDispatch();\n\n const [loading, setLoading] = useState(true);\n\n const [metaData, setMetaData] = useState(null);\n const [isMetaDataLoaded, setIsMetaDataLoaded] = useState(false);\n\n const objectName = actualInfo?.name || \"\";\n\n const fetchMetadata = useCallback(() => {\n if (!isMetaDataLoaded) {\n const encodedPath = encodeURLString(objectName);\n api.buckets\n .getObjectMetadata(bucketName, {\n prefix: encodedPath,\n versionID: actualInfo.version_id || \"\",\n })\n .then((res) => {\n let metadata = get(res.data, \"objectMetadata\", {});\n setIsMetaDataLoaded(true);\n setMetaData(metadata);\n })\n .catch((err) => {\n console.error(\n \"Error Getting Metadata Status: \",\n err,\n err?.detailedError,\n );\n setIsMetaDataLoaded(true);\n });\n }\n }, [bucketName, objectName, isMetaDataLoaded, actualInfo.version_id]);\n\n useEffect(() => {\n if (bucketName && objectName) {\n fetchMetadata();\n }\n }, [bucketName, objectName, fetchMetadata]);\n\n let path = \"\";\n\n if (actualInfo) {\n const encodedPath = encodeURLString(actualInfo.name || \"\");\n let basename = document.baseURI.replace(window.location.origin, \"\");\n path = `${window.location.origin}${basename}api/v1/buckets/${bucketName}/objects/download?preview=true&prefix=${encodedPath}`;\n if (actualInfo.version_id) {\n path = path.concat(`&version_id=${actualInfo.version_id}`);\n }\n }\n\n let objectType: AllowedPreviews = previewObjectType(metaData, objectName);\n\n const iframeLoaded = () => {\n setLoading(false);\n };\n\n return (\n \n {objectType !== \"none\" && loading && (\n \n \n \n )}\n {isMetaDataLoaded ? (\n \n {objectType === \"video\" && (\n \n )}\n {objectType === \"audio\" && (\n \n )}\n {objectType === \"image\" && (\n \n )}\n {objectType === \"pdf\" && (\n \n \n downloadObject(dispatch, bucketName, path, actualInfo)\n }\n />\n \n )}\n {objectType === \"none\" && (\n
\n )}\n \n ) : null}\n \n );\n};\nexport default PreviewFile;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport PreviewFileContent from \"./PreviewFileContent\";\nimport { ObjectPreviewIcon } from \"mds\";\nimport { BucketObject } from \"../../../../../../api/consoleApi\";\n\ninterface IPreviewFileProps {\n open: boolean;\n bucketName: string;\n actualInfo: BucketObject;\n onClosePreview: () => void;\n}\n\nconst PreviewFileModal = ({\n open,\n bucketName,\n actualInfo,\n onClosePreview,\n}: IPreviewFileProps) => {\n return (\n \n }\n >\n \n \n \n );\n};\n\nexport default PreviewFileModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense
(\n WrappedComponent: ComponentType
,\n fallback: SuspenseProps[\"fallback\"] = null,\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { createAsyncThunk } from \"@reduxjs/toolkit\";\nimport { AppState } from \"../../../store\";\nimport { encodeURLString, getClientOS } from \"../../../common/utils\";\nimport { BucketObjectItem } from \"../Buckets/ListBuckets/Objects/ListObjects/types\";\nimport { makeid, storeCallForObjectWithID } from \"./transferManager\";\nimport {\n download,\n downloadSelectedAsZip,\n} from \"../Buckets/ListBuckets/Objects/utils\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n setAnonymousAccessOpen,\n setDownloadRenameModal,\n setMaxShareLinkExpTime,\n setNewObject,\n setPreviewOpen,\n setSelectedPreview,\n setShareFileModalOpen,\n updateProgress,\n} from \"./objectBrowserSlice\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { DateTime } from \"luxon\";\nimport { api } from \"api\";\n\nexport const downloadSelected = createAsyncThunk(\n \"objectBrowser/downloadSelected\",\n async (bucketName: string, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\n\n const downloadObject = (object: BucketObjectItem) => {\n const identityDownload = encodeURLString(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`,\n );\n\n const ID = makeid(8);\n\n const downloadCall = download(\n bucketName,\n encodeURLString(object.name),\n object.version_id,\n object.size,\n null,\n ID,\n (progress) => {\n dispatch(\n updateProgress({\n instanceID: identityDownload,\n progress: progress,\n }),\n );\n },\n () => {\n dispatch(completeObject(identityDownload));\n },\n (msg: string) => {\n dispatch(failObject({ instanceID: identityDownload, msg }));\n },\n () => {\n dispatch(cancelObjectInList(identityDownload));\n },\n () => {\n dispatch(\n setSnackBarMessage(\n \"File download will be handled directly by the browser.\",\n ),\n );\n },\n );\n storeCallForObjectWithID(ID, downloadCall);\n dispatch(\n setNewObject({\n ID,\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name,\n type: \"download\",\n waitingForFile: true,\n failed: false,\n cancelled: false,\n errorMessage: \"\",\n }),\n );\n };\n\n if (state.objectBrowser.selectedObjects.length !== 0) {\n let itemsToDownload: BucketObjectItem[] = [];\n\n const filterFunction = (currValue: BucketObjectItem) =>\n state.objectBrowser.selectedObjects.includes(currValue.name);\n\n itemsToDownload = state.objectBrowser.records.filter(filterFunction);\n\n // In case just one element is selected, then we trigger download modal validation.\n if (itemsToDownload.length === 1) {\n if (\n itemsToDownload[0].name.length > 200 &&\n getClientOS().toLowerCase().includes(\"win\")\n ) {\n dispatch(setDownloadRenameModal(itemsToDownload[0]));\n return;\n } else {\n downloadObject(itemsToDownload[0]);\n }\n } else {\n if (itemsToDownload.length === 1) {\n downloadObject(itemsToDownload[0]);\n } else if (itemsToDownload.length > 1) {\n const fileName = `${DateTime.now().toFormat(\n \"LL-dd-yyyy-HH-mm-ss\",\n )}_files_list.zip`;\n\n // We are enforcing zip download when multiple files are selected for better user experience\n const multiObjList = itemsToDownload.reduce((dwList: any[], bi) => {\n // Download objects/prefixes(recursively) as zip\n // Skip any deleted files selected via \"Show deleted objects\" in selection and log for debugging\n const isDeleted = bi?.delete_flag;\n if (bi && !isDeleted) {\n dwList.push(bi.name);\n } else {\n console.log(`Skipping ${bi?.name} from download.`);\n }\n return dwList;\n }, []);\n\n await downloadSelectedAsZip(bucketName, multiObjList, fileName);\n return;\n }\n }\n }\n },\n);\n\nexport const openPreview = createAsyncThunk(\n \"objectBrowser/openPreview\",\n async (_, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\n\n if (state.objectBrowser.selectedObjects.length === 1) {\n let fileObject: BucketObjectItem | undefined;\n\n const findFunction = (currValue: BucketObjectItem) =>\n state.objectBrowser.selectedObjects.includes(currValue.name);\n\n fileObject = state.objectBrowser.records.find(findFunction);\n\n if (fileObject) {\n dispatch(setSelectedPreview(fileObject));\n dispatch(setPreviewOpen(true));\n }\n }\n },\n);\n\nexport const openShare = createAsyncThunk(\n \"objectBrowser/openShare\",\n async (_, { getState, rejectWithValue, dispatch }) => {\n const state = getState() as AppState;\n\n if (state.objectBrowser.selectedObjects.length === 1) {\n let fileObject: BucketObjectItem | undefined;\n\n const findFunction = (currValue: BucketObjectItem) =>\n state.objectBrowser.selectedObjects.includes(currValue.name);\n\n fileObject = state.objectBrowser.records.find(findFunction);\n\n if (fileObject) {\n dispatch(setSelectedPreview(fileObject));\n dispatch(setShareFileModalOpen(true));\n }\n }\n },\n);\n\nexport const openAnonymousAccess = createAsyncThunk(\n \"objectBrowser/openAnonymousAccess\",\n async (_, { getState, dispatch }) => {\n const state = getState() as AppState;\n\n if (\n state.objectBrowser.selectedObjects.length === 1 &&\n state.objectBrowser.selectedObjects[0].endsWith(\"/\")\n ) {\n dispatch(setAnonymousAccessOpen(true));\n }\n },\n);\n\nexport const getMaxShareLinkExpTime = createAsyncThunk(\n \"objectBrowser/maxShareLinkExpTime\",\n async (_, { rejectWithValue, dispatch }) => {\n return api.buckets\n .getMaxShareLinkExp()\n .then((res) => {\n dispatch(setMaxShareLinkExpTime(res.data.exp));\n })\n .catch(async (res) => {\n return rejectWithValue(res.error);\n });\n },\n);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { encodeURLString, getClientOS } from \"../../../common/utils\";\nimport { makeid, storeCallForObjectWithID } from \"./transferManager\";\nimport { download } from \"../Buckets/ListBuckets/Objects/utils\";\nimport {\n cancelObjectInList,\n completeObject,\n failObject,\n setLongFileOpen,\n setNewObject,\n updateProgress,\n} from \"./objectBrowserSlice\";\nimport { AppDispatch } from \"../../../store\";\nimport { setSnackBarMessage } from \"../../../systemSlice\";\nimport { BucketObject } from \"api/consoleApi\";\n\nexport const downloadObject = (\n dispatch: AppDispatch,\n bucketName: string,\n internalPaths: string,\n object: BucketObject,\n) => {\n const identityDownload = encodeURLString(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`,\n );\n\n const isWinOs = getClientOS().toLowerCase().includes(\"win\");\n\n if ((object.name?.length || 0) > 200 && isWinOs) {\n dispatch(setLongFileOpen(true));\n return;\n }\n\n const ID = makeid(8);\n\n const downloadCall = download(\n bucketName,\n internalPaths,\n object.version_id,\n object.size || 0,\n null,\n ID,\n (progress) => {\n dispatch(\n updateProgress({\n instanceID: identityDownload,\n progress: progress,\n }),\n );\n },\n () => {\n dispatch(completeObject(identityDownload));\n },\n (msg: string) => {\n dispatch(failObject({ instanceID: identityDownload, msg }));\n },\n () => {\n dispatch(cancelObjectInList(identityDownload));\n },\n () => {\n dispatch(\n setSnackBarMessage(\n \"File download will be handled directly by the browser.\",\n ),\n );\n },\n );\n\n storeCallForObjectWithID(ID, downloadCall);\n dispatch(\n setNewObject({\n ID,\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name || \"\",\n type: \"download\",\n waitingForFile: true,\n failed: false,\n cancelled: false,\n errorMessage: \"\",\n }),\n );\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { Button, CopyIcon, InputBox, Box, breakPoints } from \"mds\";\n\nconst KeyRevealer = ({ value }: { value: string }) => {\n const [shown, setShown] = useState(false);\n\n return (\n \n {}}\n value={value}\n overlayIcon={}\n readOnly={true}\n overlayAction={() => navigator.clipboard.writeText(value)}\n />\n\n \n );\n};\n\nexport default KeyRevealer;\n"],"names":["_ref","modalOpen","onClose","bucket","prefilledRoute","dispatch","useAppDispatch","prefix","setPrefix","useState","selectedAccess","setSelectedAccess","useEffect","_jsx","ModalWrapper","title","titleIcon","AddAccessRuleIcon","children","_jsxs","FormLayout","withBorders","containerPadding","InputBox","value","label","id","name","placeholder","onChange","e","target","tooltip","Select","options","disabled","helpTip","Fragment","helpTipPlacement","Grid","item","xs","sx","modalStyleUtils","modalButtonBar","Button","type","variant","onClick","resetForm","trim","createProcess","api","setAccessRuleWithBucket","access","then","res","setSnackBarMessage","catch","setErrorSnackMessage","errorToHandler","error","extractFileExtn","resourceStr","match","getSessionGrantsWildCard","sessionGrants","uploadPath","scopes","arguments","length","undefined","grantsWithExtension","Object","keys","reduce","acc","grantKey","includes","filter","sessionGrantKey","hasScope","some","actionKey","find","scopeKey","wildCardMatch","indexOf","scopeActionKey","substring","isUploadPathMatching","concat","CreatePathModal","withSuspense","React","BreadcrumbsMain","styled","div","display","paddingRight","alignItems","breakPoints","lg","margin","bucketName","internalPaths","hidePathButton","additionalOptions","navigate","useNavigate","rewindEnabled","useSelector","state","objectBrowser","rewind","versionsMode","versionedFile","anonymousMode","system","createFolderOpen","setCreateFolderOpen","canCreateSubpath","setCanCreateSubpath","putObjectPermScopes","IAM_SCOPES","S3_PUT_OBJECT","S3_PUT_ACTIONS","console","session","permissions","paths","splitPaths","split","path","lastBreadcrumbsIndex","pathToCheckPerms","sessionGrantWildCards","forEach","grant","canCreatePath","hasPermission","breadcrumbsMap","map","objectItem","index","subSplit","slice","join","route","encodeURLString","className","style","cursor","whiteSpace","safeDecodeURIComponent","Link","to","setVersionsModeEnabled","status","objectName","toString","versionsItem","listBreadcrumbs","folderName","closeAddFolderModal","limitedSubPath","Breadcrumbs","goBackFunction","prevPath","CopyToClipboard","text","icon","CopyIcon","width","height","fill","marginTop","color","border","marginRight","Box","Tooltip","permissionTooltipHelper","NewPathIcon","marginBottom","justifyContent","fontSize","fontWeight","flexDirection","flexWrap","isVersionedMode","forceDisable","uploadFileFunction","uploadFolderFunction","overrideStyles","anchorEl","setAnchorEl","uploadOptionsOpen","uploadOptionsSetOpen","openUploadMenu","Boolean","handleCloseUpload","uploadObjectAllowed","uploadFolderAllowed","uploadEnabled","TooltipWrapper","event","currentTarget","UploadIcon","DropdownSelector","UploadFolderIcon","selectedOption","onSelect","nValue","hideTriggerAction","open","anchorOrigin","useAnchorWidth","closePanel","borderColor","borderWidth","borderStyle","borderRadius","borderBottomLeftRadius","borderBottomRightRadius","transitionDuration","overflowX","overflowY","position","opacity","marginLeft","minWidth","borderLeftWidth","ClosePanelIcon","right","top","padding","backgroundColor","strings","minHeight","overflow","textOverflow","replaceUnicodeChar","extensionToIcon","FileVideoIcon","extensions","FileMusicIcon","FilePdfIcon","FilePptIcon","FileXlsIcon","FileLockIcon","FileCodeIcon","FileConfigIcon","FileDbIcon","FileFontIcon","FileTxtIcon","FileZipIcon","FileBookIcon","FileImageIcon","displayFileIconName","element","returnOnlyIcon","elementString","FileNonType","endsWith","FolderBrowserIcon","lowercaseElement","toLowerCase","etc","ext","FileMissingIcon","splitItem","IconWithLabel","metaData","metaKeys","renderItem","Array","isArray","itemRendererFn","maxHeight","months","days","from","_","num","currentYear","Date","getFullYear","years","numYear","forwardRef","ref","disableOptions","borderBottom","onDateChange","useImperativeHandle","resetDate","month","setMonth","day","setDay","year","setYear","valueSplit","parseInt","isValid","dateString","validDate","currentDate","parse","isNaN","parsedMonth","parsedDay","monthForString","dayForString","parsedDate","toISOString","isDateDisabled","monthForDropDown","daysForDrop","yearsForDrop","gap","InputLabel","htmlFor","placement","HelpIcon","newValue","closeModalAndRefresh","objectInfo","retentionConfig","statusEnabled","setStatusEnabled","setType","date","setDate","isDateValid","setIsDateValid","isSaving","setIsSaving","alreadyConfigured","setAlreadyConfigured","retention_mode","mode","ObjectRetentionMode","Governance","retention_until_date","valueDate","getMonth","getDate","dateElement","useRef","current","showSwitcher","noValidate","autoComplete","onSubmit","preventDefault","Switch","checked","indicatorLabels","RadioGroup","currentValue","selectorOptions","Compliance","DateSelector","saveNewRetentionPolicy","selectedObject","versionId","version_id","expireDate","addRetention","buckets","putObjectRetention","expires","err","setModalErrorSnackMessage","disableRetention","deleteObjectRetention","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","versioningInfo","selectedVersion","deleteLoading","invokeDeleteApi","useApi","onDelSuccess","detailedError","deleteVersions","setDeleteVersions","bypassGovernance","setBypassGovernance","canBypass","S3_BYPASS_GOVERNANCE_RETENTION","ConfirmDialog","confirmText","isOpen","ConfirmDeleteIcon","isLoading","onConfirm","onConfirmDelete","recursive","decodeURLString","confirmationContent","description","actualInfo","legalHoldEnabled","setLegalHoldEnabled","get","putObjectLegalHold","ObjectLegalHoldStatus","Enabled","Disabled","DeleteTag","b","theme","_ref2","_actualInfo$name","onCloseAndUpdate","distributedSetup","selDistSet","newKey","setNewKey","newLabel","setNewLabel","isSending","setIsSending","deleteEnabled","setDeleteEnabled","deleteKey","setDeleteKey","deleteLabel","setDeleteLabel","currentTags","tags","currTagKeys","allPathData","currentItem","pop","tagsFor","plural","iconColor","DisabledIcon","EditTagIcon","container","cancelDelete","deleteTagProcess","cleanObject","verID","putObjectTags","SecureComponent","S3_GET_OBJECT_TAGGING","S3_GET_ACTIONS","resource","flexFlow","tagKey","tag","S3_DELETE_OBJECT_TAGGING","errorProps","deleteIcon","onDelete","Tag","onDeleteTag","S3_PUT_OBJECT_TAGGING","SectionTitle","AddNewTagIcon","separator","addTagProcess","newTag","newTagList","closeInspectModalAndRefresh","inspectOpen","inspectPath","volumeName","isEncrypt","setIsEncrypt","decryptionKey","setDecryptionKey","insFileName","setInsFileName","InspectMenuIcon","async","file","volume","basename","document","baseURI","replace","window","location","origin","fetch","url","method","makeRequest","ok","resErr","json","errorMessage","message","code","blob","filename","headers","decryptKey","getCookieValue","performDownload","onCloseDecKeyModal","deleteCookie","PasswordKeyIcon","KeyRevealer","closeModal","newFileName","setNewFileName","acceptLongName","setAcceptLongName","EditIcon","downloadObject","doDownload","emptyFile","is_latest","last_modified","legal_hold_status","size","locking","onClosePanel","loadingObjectInfo","shareFileModalOpen","setShareFileModalOpen","retentionModalOpen","setRetentionModalOpen","tagModalOpen","setTagModalOpen","legalholdOpen","setLegalholdOpen","inspectModalOpen","setInspectModalOpen","setActualInfo","allInfoElements","setAllInfoElements","objectToShare","setObjectToShare","versions","setVersions","setDeleteOpen","previewOpen","setPreviewOpen","totalVersionsSize","setTotalVersionsSize","longFileOpen","setLongFileOpen","setMetaData","loadMetadata","setLoadingMetadata","objectNameArray","infoElement","el","is_delete_marker","listObjects","with_versions","result","data","objects","tVersionSize","currValue","resInfo","setLoadingObjectInfo","getObjectMetadata","versionID","metadata","tagKeys","loaderForContainer","textAlign","Loader","objectResources","canSetLegalHold","S3_PUT_OBJECT_LEGAL_HOLD","canSetTags","canChangeRetention","S3_GET_OBJECT_RETENTION","S3_PUT_OBJECT_RETENTION","canInspect","ADMIN_INSPECT_DATA","canChangeVersioning","S3_GET_BUCKET_VERSIONING","S3_PUT_BUCKET_VERSIONING","S3_GET_OBJECT_VERSION","canGetObject","S3_GET_OBJECT","canDelete","S3_DELETE_OBJECT","objectType","previewObjectType","multiActionButtons","action","DownloadIcon","ShareIcon","PreviewIcon","LegalHoldIcon","openRetentionModal","RetentionIcon","TagsIcon","VersionsIcon","ShareFile","closeShareModal","dataObject","SetRetention","updateInfo","DeleteObject","closeAndReload","setLoadingVersions","setSelectedVersion","SetLegalHoldModal","reload","PreviewFileModal","onClosePreview","TagsModal","reloadObjectData","InspectObject","RenameLongFileName","closeFileOpen","textTransform","ActionsList","items","DeleteIcon","iconLocation","fullWidth","SimpleHeader","ObjectInfoIcon","overflowWrap","niceBytes","niceBytesInt","lastModified","currentTime","modifiedTime","difTime","getTime","formatTime","niceDaysInt","calculateLastModifyTime","etag","S3_GET_OBJECT_LEGAL_HOLD","MetadataIcon","ObjectMetaData","versionToRestore","objectPath","restoreOpen","restoreLoading","setRestoreLoading","RecoverIcon","restoreVersion","putObjectRestore","restoreLocalObjectList","confirmButtonProps","bgColor","FileVersionStyled","content","left","borderBottomColor","maxWidth","fileName","versionInfo","isSelected","checkable","isChecked","onCheck","onShare","onDownload","onRestore","onPreview","globalClick","key","disableButtons","versionItemButtons","pill","DateTime","now","fromISO","md","Checkbox","stopPropagation","SpecificVersionPill","button","IconButton","toFormat","setDeleteLoading","typeConfirm","setTypeConfirm","deleteObject","non_current_versions","bypass","selectedVersions","selectedObjectsRequest","deleteMultipleObjects","all_versions","searchVersions","loadingVersions","restoreVersionOpen","setRestoreVersionOpen","setRestoreVersion","sortValue","setSortValue","deleteNonCurrentOpen","setDeleteNonCurrentOpen","selectEnabled","setSelectEnabled","selectedItems","setSelectedItems","delSelectedVOpen","setDelSelectedVOpen","decodedInternalPaths","filteredPrefixes","onShareItem","onPreviewItem","onRestoreItem","onDownloadItem","onGlobalClick","filteredRecords","version","totalSpace","sort","a","dateA","dateB","onCheckVersion","filteredItems","cloneState","push","RestoreFileVersion","content_type","DeleteNonCurrent","reloadAfterDelete","DeleteSelectedVersions","reloadOnComplete","ProgressBar","BrowserBreadcrumbs","ScreenTitle","subTitle","actions","SelectMultipleIcon","DeleteNonCurrentIcon","noLabelMinWidth","bottomBorder","flexGrow","List","containerStyle","rowCount","rowHeight","rowRenderer","isScrolling","isVisible","versOrd","FileVersionItem","displayParsedDate","object","currTime","objectTime","hasSame","displayNiceBytes","String","listModeColumns","elementKey","renderFunction","enableSort","renderFullObject","rewindModeColumns","ListObjectsTable","params","useParams","sortDirection","setSortDirection","currentSortField","setCurrentSortField","detailsOpen","objectDetailsOpen","requestInProgress","features","selFeatures","obOnly","records","searchObjects","selectedObjects","connectionError","displayListObjects","S3_LIST_BUCKET","S3_ALL_LIST_BUCKET","sortASC","sortListObjects","payload","reverse","tableActions","_object$name","idElement","newPath","setSelectedObjects","setObjectDetailsView","setSelectedObjectView","sendOnlyId","customPaperHeight","DataTable","itemActions","columns","entityName","idField","targetD","elements","customEmptyMessage","sortEnabled","currentSort","currentDirection","onSortClick","sortData","newSortDirection","sortBy","setReloadObjectsList","onSelectAll","selectAllItems","rowStyle","_payload$index","delete_flag","noBackground","FilterObjectsSB","SearchBox","setSearchObjects","DeleteMultipleObjects","RewindEnable","baseDnDStyle","outline","activeDnDStyle","acceptDnDStyle","ListObjects","_downloadRenameModal$","useLocation","bucketToRewind","showDeleted","selectedInternalPaths","simplePath","versioningConfig","lockingEnabled","downloadRenameModal","selectedPreview","anonymousAccessOpen","_state$objectBrowser","loadingBucket","selBucketDetailsLoading","bucketInfo","selBucketDetailsInfo","deleteMultipleOpen","setDeleteMultipleOpen","rewindSelect","setRewindSelect","iniLoad","setIniLoad","canShareFile","setCanShareFile","canPreviewFile","setCanPreviewFile","quota","setQuota","isMetaDataLoaded","setIsMetaDataLoaded","isVersioningApplied","pathSegment","pathname","pageTitle","currentPath","i","fileUpload","folderUpload","pathAsResourceInPolicy","allowedFileExtensions","cv","extension","Set","getPolicyAllowedFileExtensions","canDownload","canRewind","canUpload","canSetAnonymousAccess","S3_GET_BUCKET_POLICY","S3_PUT_BUCKET_POLICY","isSelObjectDelMarker","checkForDelMarker","isObjDelMarker","obj","fetchMetadata","useCallback","encodedPath","resetRewind","setAttribute","isPrefix","getBucketQuota","quotaVals","detailedMessage","setBucketDetailsLoad","setBucketInfo","getBucketRetentionConfig","setRetentionConfig","handleUploadButton","files","newFiles","uploadObject","folderPath","pathPrefix","upload","uploadPromise","Promise","resolve","reject","uploadUrl","blobFile","Blob","filePath","fileWebkitRelativePath","relativeFolderPath","ID","makeid","prefixPath","finalFolderPath","pathClean","startsWith","identity","Math","random","xhr","XMLHttpRequest","setRequestHeader","areMultipleFiles","errorMessages","withCredentials","onload","completeObject","removeTrace","response","JSON","failObject","instanceID","msg","addEventListener","progress","floor","loaded","total","updateProgress","onerror","onloadend","onabort","cancelObjectInList","formData","FormData","append","storeCallForObjectWithID","setNewObject","done","percentage","waitingForFile","failed","cancelled","storeFormDataWithID","uploadFilePromises","openList","allSettled","results","errors","totalFiles","successUploadedFiles","onDrop","acceptedFiles","newFolderPath","allowedFiles","fileExtn","log","getRootProps","getInputProps","isDragActive","isDragAccept","useDropzone","noClick","dndStyles","useMemo","forceRefresh","splitURLS","URLItem","createdTime","creation_date","downloadToolTip","downloadSelected","openShare","openPreview","openAnonymousAccess","AccessRuleIcon","setSelectedPreview","refresh","versioning","rewindCloseModal","closePreviewWindow","closeRenameModal","setDownloadRenameModal","AddAccessRule","closeAddAccessRule","setAnonymousAccessOpen","PageLayout","paddingBottom","BucketsIcon","Badge","dotOnly","invisible","HistoryIcon","RefreshIcon","resetMessages","multiple","accept","UploadFilesButton","closeMenu","click","borderTop","VersionsNavigator","setDeletedAction","setShowDeletedObjects","DetailsListPanel","ObjectDetailPanel","configureBucketAllowed","S3_GET_BUCKET_ENCRYPTION_CONFIGURATION","S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION","S3_DELETE_BUCKET","S3_GET_BUCKET_NOTIFICATIONS","S3_PUT_BUCKET_NOTIFICATIONS","S3_GET_REPLICATION_CONFIGURATION","S3_PUT_REPLICATION_CONFIGURATION","S3_GET_LIFECYCLE_CONFIGURATION","S3_PUT_LIFECYCLE_CONFIGURATION","ADMIN_GET_BUCKET_QUOTA","ADMIN_SET_BUCKET_QUOTA","S3_PUT_BUCKET_TAGGING","S3_GET_BUCKET_TAGGING","S3_LIST_BUCKET_VERSIONS","S3_GET_BUCKET_POLICY_STATUS","S3_DELETE_BUCKET_POLICY","searchBar","setSearchVersions","setHelpName","AutoColorIcon","ObjectManagerButton","PageHeaderWrapper","BackLink","IAM_PAGES","OBJECT_BROWSER_VIEW","IAM_PERMISSIONS","IAM_ROLES","BUCKET_ADMIN","SettingsIcon","HelpMenu","middleComponent","BrowserHandler","loadingVersioning","rewindDate","dateToRewind","loadingLocking","reloadObjectsList","initWSRequest","rewindMode","pathLoad","forceLoad","searchPath","setRequestInProgress","decodedIPaths","setLoadingVersioning","setLoadingLocking","getBucketVersioning","setIsVersioned","getBucketObjectLockingStatus","setLockingEnabled","object_locking_enabled","OBHeader","initialDate","maxSeconds","entity","maxDays","maxHours","maxMinutes","selectedDays","setSelectedDays","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","setValidDate","dateSelected","setDateSelected","calculateNewTime","hours","minutes","fromJSDate","plus","formattedDate","valid","extraStyles","paddingLeft","min","max","LinkIcon","maxshareLinkExpTimeVal","maxShareLinkExpTime","shareURL","setShareURL","isLoadingVersion","setIsLoadingVersion","isLoadingFile","setIsLoadingFile","selectedDate","setSelectedDate","dateValid","setDateValid","setVersionID","getMaxShareLinkExpTime","latestVersion","elem","slDate","currDate","diffDate","ceil","shareObject","niceTimeFromSeconds","DaysSelector","dateChanged","newDate","ReadBox","actionButton","setModalSnackMessage","pdfjs","GlobalWorkerOptions","workerSrc","loading","onLoad","downloadFile","errorState","setErrorState","totalPages","setTotalPages","renderPages","arrayCreate","InformativeMessage","Document","onLoadSuccess","_pdfInfo","numPages","onLoadError","Page","pageNumber","renderAnnotationLayer","renderTextLayer","renderForms","isFullscreen","setLoading","iframeLoaded","flex","autoPlay","controls","muted","playsInline","onPlay","src","alt","PreviewPDF","allowTransparency","wideLimit","ObjectPreviewIcon","PreviewFileContent","WrappedComponent","fallback","props","Suspense","createAsyncThunk","getState","rejectWithValue","identityDownload","downloadCall","download","itemsToDownload","filterFunction","getClientOS","multiObjList","dwList","bi","isDeleted","downloadSelectedAsZip","fileObject","findFunction","_ref3","_ref4","_ref5","getMaxShareLinkExp","setMaxShareLinkExpTime","exp","isWinOs","shown","setShown","sm","overlayIcon","readOnly","overlayAction","navigator","clipboard","writeText"],"sourceRoot":""}
\ No newline at end of file
diff --git a/web-app/build/static/js/6016.dcb3bcb4.chunk.js b/web-app/build/static/js/6016.3475b798.chunk.js
similarity index 69%
rename from web-app/build/static/js/6016.dcb3bcb4.chunk.js
rename to web-app/build/static/js/6016.3475b798.chunk.js
index b4d86bfe94..2d94575f55 100644
--- a/web-app/build/static/js/6016.dcb3bcb4.chunk.js
+++ b/web-app/build/static/js/6016.3475b798.chunk.js
@@ -1,2 +1,2 @@
-"use strict";(self.webpackChunkweb_app=self.webpackChunkweb_app||[]).push([[6016],{13839:(e,t,n)=>{n.d(t,{G:()=>_});var r,i=n(65043),a=n(58387),o=n(59101),c=n(11629),l=n.n(c),u=n(50539),s=n.n(u),p=n(79686),f=n.n(p),h=n(35268),y=n.n(h),d=n(19853),m=n.n(d),b=n(68471),v=n(68892),g=n(94020),O=n(81519),A=n(6015),w=n(76307),x=n(20202),j=n(240),P=["layout","type","stroke","connectNulls","isRange","ref"];function E(e){return E="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(e)}function S(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function k(){return k=Object.assign?Object.assign.bind():function(e){for(var t=1;t0||!m()(c,r)||!m()(l,i))?this.renderAreaWithAnimation(e,t):this.renderAreaStatically(r,i,e,t)}},{key:"render",value:function(){var e,t=this.props,n=t.hide,r=t.dot,o=t.points,c=t.className,l=t.top,u=t.left,s=t.xAxis,p=t.yAxis,h=t.width,y=t.height,d=t.isAnimationActive,m=t.id;if(n||!o||!o.length)return null;var b=this.state.isAnimationFinished,v=1===o.length,A=(0,a.A)("recharts-area",c),w=s&&s.allowDataOverflow,x=p&&p.allowDataOverflow,P=w||x,E=f()(m)?this.id:m,S=null!==(e=(0,j.J9)(r,!1))&&void 0!==e?e:{r:3,strokeWidth:2},k=S.r,D=void 0===k?3:k,M=S.strokeWidth,R=void 0===M?2:M,N=((0,j.ON)(r)?r:{}).clipDot,C=void 0===N||N,W=2*D+R;return i.createElement(g.W,{className:A},w||x?i.createElement("defs",null,i.createElement("clipPath",{id:"clipPath-".concat(E)},i.createElement("rect",{x:w?u:u-h/2,y:x?l:l-y/2,width:w?h:2*h,height:x?y:2*y})),!C&&i.createElement("clipPath",{id:"clipPath-dots-".concat(E)},i.createElement("rect",{x:u-W/2,y:l-W/2,width:h+W,height:y+W}))):null,v?null:this.renderArea(P,E),(r||v)&&this.renderDots(P,C,E),(!d||b)&&O.Z.renderCallByParent(this.props,o))}}])&&R(n.prototype,r),c&&R(n,c),Object.defineProperty(n,"prototype",{writable:!1}),t}(i.PureComponent);r=_,B(_,"displayName","Area"),B(_,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!A.m.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"}),B(_,"getBaseValue",(function(e,t,n,r){var i=e.layout,a=e.baseValue,o=t.props.baseValue,c=null!==o&&void 0!==o?o:a;if((0,w.Et)(c)&&"number"===typeof c)return c;var l="horizontal"===i?r:n,u=l.scale.domain();if("number"===l.type){var s=Math.max(u[0],u[1]),p=Math.min(u[0],u[1]);return"dataMin"===c?p:"dataMax"===c||s<0?s:Math.max(Math.min(u[0],u[1]),0)}return"dataMin"===c?u[0]:"dataMax"===c?u[1]:u[0]})),B(_,"getComposedData",(function(e){var t,n=e.props,i=e.item,a=e.xAxis,o=e.yAxis,c=e.xAxisTicks,l=e.yAxisTicks,u=e.bandSize,s=e.dataKey,p=e.stackedData,f=e.dataStartIndex,h=e.displayedData,y=e.offset,d=n.layout,m=p&&p.length,b=r.getBaseValue(n,i,a,o),v="horizontal"===d,g=!1,O=h.map((function(e,t){var n;m?n=p[f+t]:(n=(0,x.kr)(e,s),Array.isArray(n)?g=!0:n=[b,n]);var r=null==n[1]||m&&null==(0,x.kr)(e,s);return v?{x:(0,x.nb)({axis:a,ticks:c,bandSize:u,entry:e,index:t}),y:r?null:o.scale(n[1]),value:n,payload:e}:{x:r?null:a.scale(n[1]),y:(0,x.nb)({axis:o,ticks:l,bandSize:u,entry:e,index:t}),value:n,payload:e}}));return t=m||g?O.map((function(e){var t=Array.isArray(e.value)?e.value[0]:null;return v?{x:e.x,y:null!=t&&null!=e.y?o.scale(t):null}:{x:null!=t?a.scale(t):null,y:e.y}})):v?o.scale(b):a.scale(b),M({points:O,baseLine:t,layout:d,isRange:g},y)})),B(_,"renderDotItem",(function(e,t){var n;if(i.isValidElement(e))n=i.cloneElement(e,t);else if(l()(e))n=e(t);else{var r=(0,a.A)("recharts-area-dot","boolean"!==typeof e?e.className:"");n=i.createElement(v.c,k({},t,{className:r}))}return n}))},877:(e,t,n)=>{n.d(t,{Q:()=>l});var r=n(88420),i=n(13839),a=n(52185),o=n(6026),c=n(3831),l=(0,r.gu)({chartName:"AreaChart",GraphicalChild:i.G,axisComponents:[{axisType:"xAxis",AxisComp:a.W},{axisType:"yAxis",AxisComp:o.h}],formatAxisMap:c.pr})},50108:(e,t,n)=>{n.d(t,{u:()=>b});var r=n(58387),i=n(65043),a=n(79889),o=n.n(a),c=n(2086),l=n(76307),u=n(155),s=n(240);function p(e){return p="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},p(e)}function f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function h(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&(e=o()(e,j,{trailing:!0,leading:!1}));var t=new ResizeObserver(e),n=M.current.getBoundingClientRect(),r=n.width,i=n.height;return I(r,i),t.observe(M.current),function(){t.disconnect()}}),[I,j]);var L=(0,i.useMemo)((function(){var e=C.containerWidth,t=C.containerHeight;if(e<0||t<0)return null;(0,u.R)((0,l._3)(y)||(0,l._3)(b),"The width(%s) and height(%s) are both fixed numbers,\n maybe you don't need to use a ResponsiveContainer.",y,b),(0,u.R)(!n||n>0,"The aspect(%s) must be greater than zero.",n);var r=(0,l._3)(y)?e:y,a=(0,l._3)(b)?t:b;n&&n>0&&(r?a=r/n:a&&(r=a*n),A&&a>A&&(a=A)),(0,u.R)(r>0||a>0,"The width(%s) and height(%s) of chart should be greater than 0,\n please check the style of container, or the props width(%s) and height(%s),\n or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the\n height and width.",r,a,y,b,g,O,n);var o=!Array.isArray(w)&&(0,c.isElement)(w)&&(0,s.Mn)(w.type).endsWith("Chart");return i.Children.map(w,(function(e){return(0,c.isElement)(e)?(0,i.cloneElement)(e,h({width:r,height:a},o?{style:h({height:"100%",width:"100%",maxHeight:a,maxWidth:r},e.props.style)}:{})):e}))}),[n,w,b,A,O,g,C,y]);return i.createElement("div",{id:P?"".concat(P):void 0,className:(0,r.A)("recharts-responsive-container",E),style:h(h({},D),{},{width:y,height:b,minWidth:g,minHeight:O,maxHeight:A}),ref:M},L)}))}}]);
-//# sourceMappingURL=6016.dcb3bcb4.chunk.js.map
\ No newline at end of file
+"use strict";(self.webpackChunkweb_app=self.webpackChunkweb_app||[]).push([[6016],{13839:(e,t,n)=>{n.d(t,{G:()=>_});var r,i=n(65043),a=n(58387),o=n(59101),c=n(11629),l=n.n(c),u=n(50539),s=n.n(u),p=n(79686),f=n.n(p),h=n(35268),y=n.n(h),d=n(19853),m=n.n(d),b=n(68471),v=n(68892),g=n(94020),O=n(81519),A=n(6015),w=n(76307),x=n(20202),j=n(240),P=["layout","type","stroke","connectNulls","isRange","ref"];function E(e){return E="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(e)}function S(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function k(){return k=Object.assign?Object.assign.bind():function(e){for(var t=1;t0||!m()(c,r)||!m()(l,i))?this.renderAreaWithAnimation(e,t):this.renderAreaStatically(r,i,e,t)}},{key:"render",value:function(){var e,t=this.props,n=t.hide,r=t.dot,o=t.points,c=t.className,l=t.top,u=t.left,s=t.xAxis,p=t.yAxis,h=t.width,y=t.height,d=t.isAnimationActive,m=t.id;if(n||!o||!o.length)return null;var b=this.state.isAnimationFinished,v=1===o.length,A=(0,a.A)("recharts-area",c),w=s&&s.allowDataOverflow,x=p&&p.allowDataOverflow,P=w||x,E=f()(m)?this.id:m,S=null!==(e=(0,j.J9)(r,!1))&&void 0!==e?e:{r:3,strokeWidth:2},k=S.r,D=void 0===k?3:k,M=S.strokeWidth,R=void 0===M?2:M,N=((0,j.ON)(r)?r:{}).clipDot,C=void 0===N||N,W=2*D+R;return i.createElement(g.W,{className:A},w||x?i.createElement("defs",null,i.createElement("clipPath",{id:"clipPath-".concat(E)},i.createElement("rect",{x:w?u:u-h/2,y:x?l:l-y/2,width:w?h:2*h,height:x?y:2*y})),!C&&i.createElement("clipPath",{id:"clipPath-dots-".concat(E)},i.createElement("rect",{x:u-W/2,y:l-W/2,width:h+W,height:y+W}))):null,v?null:this.renderArea(P,E),(r||v)&&this.renderDots(P,C,E),(!d||b)&&O.Z.renderCallByParent(this.props,o))}}])&&R(n.prototype,r),c&&R(n,c),Object.defineProperty(n,"prototype",{writable:!1}),t}(i.PureComponent);r=_,B(_,"displayName","Area"),B(_,"defaultProps",{stroke:"#3182bd",fill:"#3182bd",fillOpacity:.6,xAxisId:0,yAxisId:0,legendType:"line",connectNulls:!1,points:[],dot:!1,activeDot:!0,hide:!1,isAnimationActive:!A.m.isSsr,animationBegin:0,animationDuration:1500,animationEasing:"ease"}),B(_,"getBaseValue",(function(e,t,n,r){var i=e.layout,a=e.baseValue,o=t.props.baseValue,c=null!==o&&void 0!==o?o:a;if((0,w.Et)(c)&&"number"===typeof c)return c;var l="horizontal"===i?r:n,u=l.scale.domain();if("number"===l.type){var s=Math.max(u[0],u[1]),p=Math.min(u[0],u[1]);return"dataMin"===c?p:"dataMax"===c||s<0?s:Math.max(Math.min(u[0],u[1]),0)}return"dataMin"===c?u[0]:"dataMax"===c?u[1]:u[0]})),B(_,"getComposedData",(function(e){var t,n=e.props,i=e.item,a=e.xAxis,o=e.yAxis,c=e.xAxisTicks,l=e.yAxisTicks,u=e.bandSize,s=e.dataKey,p=e.stackedData,f=e.dataStartIndex,h=e.displayedData,y=e.offset,d=n.layout,m=p&&p.length,b=r.getBaseValue(n,i,a,o),v="horizontal"===d,g=!1,O=h.map((function(e,t){var n;m?n=p[f+t]:(n=(0,x.kr)(e,s),Array.isArray(n)?g=!0:n=[b,n]);var r=null==n[1]||m&&null==(0,x.kr)(e,s);return v?{x:(0,x.nb)({axis:a,ticks:c,bandSize:u,entry:e,index:t}),y:r?null:o.scale(n[1]),value:n,payload:e}:{x:r?null:a.scale(n[1]),y:(0,x.nb)({axis:o,ticks:l,bandSize:u,entry:e,index:t}),value:n,payload:e}}));return t=m||g?O.map((function(e){var t=Array.isArray(e.value)?e.value[0]:null;return v?{x:e.x,y:null!=t&&null!=e.y?o.scale(t):null}:{x:null!=t?a.scale(t):null,y:e.y}})):v?o.scale(b):a.scale(b),M({points:O,baseLine:t,layout:d,isRange:g},y)})),B(_,"renderDotItem",(function(e,t){var n;if(i.isValidElement(e))n=i.cloneElement(e,t);else if(l()(e))n=e(t);else{var r=(0,a.A)("recharts-area-dot","boolean"!==typeof e?e.className:"");n=i.createElement(v.c,k({},t,{className:r}))}return n}))},877:(e,t,n)=>{n.d(t,{Q:()=>l});var r=n(88420),i=n(13839),a=n(52185),o=n(6026),c=n(3831),l=(0,r.gu)({chartName:"AreaChart",GraphicalChild:i.G,axisComponents:[{axisType:"xAxis",AxisComp:a.W},{axisType:"yAxis",AxisComp:o.h}],formatAxisMap:c.pr})},50108:(e,t,n)=>{n.d(t,{u:()=>b});var r=n(58387),i=n(65043),a=n(79889),o=n.n(a),c=n(69062),l=n(76307),u=n(155),s=n(240);function p(e){return p="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},p(e)}function f(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function h(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);n0&&(e=o()(e,j,{trailing:!0,leading:!1}));var t=new ResizeObserver(e),n=M.current.getBoundingClientRect(),r=n.width,i=n.height;return I(r,i),t.observe(M.current),function(){t.disconnect()}}),[I,j]);var L=(0,i.useMemo)((function(){var e=C.containerWidth,t=C.containerHeight;if(e<0||t<0)return null;(0,u.R)((0,l._3)(y)||(0,l._3)(b),"The width(%s) and height(%s) are both fixed numbers,\n maybe you don't need to use a ResponsiveContainer.",y,b),(0,u.R)(!n||n>0,"The aspect(%s) must be greater than zero.",n);var r=(0,l._3)(y)?e:y,a=(0,l._3)(b)?t:b;n&&n>0&&(r?a=r/n:a&&(r=a*n),A&&a>A&&(a=A)),(0,u.R)(r>0||a>0,"The width(%s) and height(%s) of chart should be greater than 0,\n please check the style of container, or the props width(%s) and height(%s),\n or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the\n height and width.",r,a,y,b,g,O,n);var o=!Array.isArray(w)&&(0,c.isElement)(w)&&(0,s.Mn)(w.type).endsWith("Chart");return i.Children.map(w,(function(e){return(0,c.isElement)(e)?(0,i.cloneElement)(e,h({width:r,height:a},o?{style:h({height:"100%",width:"100%",maxHeight:a,maxWidth:r},e.props.style)}:{})):e}))}),[n,w,b,A,O,g,C,y]);return i.createElement("div",{id:P?"".concat(P):void 0,className:(0,r.A)("recharts-responsive-container",E),style:h(h({},D),{},{width:y,height:b,minWidth:g,minHeight:O,maxHeight:A}),ref:M},L)}))}}]);
+//# sourceMappingURL=6016.3475b798.chunk.js.map
\ No newline at end of file
diff --git a/web-app/build/static/js/6016.dcb3bcb4.chunk.js.map b/web-app/build/static/js/6016.3475b798.chunk.js.map
similarity index 99%
rename from web-app/build/static/js/6016.dcb3bcb4.chunk.js.map
rename to web-app/build/static/js/6016.3475b798.chunk.js.map
index 2f5551f96e..3f9ea33c40 100644
--- a/web-app/build/static/js/6016.dcb3bcb4.chunk.js.map
+++ b/web-app/build/static/js/6016.3475b798.chunk.js.map
@@ -1 +1 @@
-{"version":3,"file":"static/js/6016.dcb3bcb4.chunk.js","mappings":"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","sources":["../node_modules/recharts/es6/cartesian/Area.js","../node_modules/recharts/es6/chart/AreaChart.js","../node_modules/recharts/es6/component/ResponsiveContainer.js"],"sourcesContent":["var _excluded = [\"layout\", \"type\", \"stroke\", \"connectNulls\", \"isRange\", \"ref\"];\nvar _Area;\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : String(i); }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Area\n */\nimport React, { PureComponent } from 'react';\nimport clsx from 'clsx';\nimport Animate from 'react-smooth';\nimport isFunction from 'lodash/isFunction';\nimport max from 'lodash/max';\nimport isNil from 'lodash/isNil';\nimport isNan from 'lodash/isNaN';\nimport isEqual from 'lodash/isEqual';\nimport { Curve } from '../shape/Curve';\nimport { Dot } from '../shape/Dot';\nimport { Layer } from '../container/Layer';\nimport { LabelList } from '../component/LabelList';\nimport { Global } from '../util/Global';\nimport { isNumber, uniqueId, interpolateNumber } from '../util/DataUtils';\nimport { getCateCoordinateOfLine, getValueByDataKey } from '../util/ChartUtils';\nimport { filterProps, isDotProps } from '../util/ReactUtils';\nexport var Area = /*#__PURE__*/function (_PureComponent) {\n _inherits(Area, _PureComponent);\n function Area() {\n var _this;\n _classCallCheck(this, Area);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, Area, [].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n isAnimationFinished: true\n });\n _defineProperty(_assertThisInitialized(_this), \"id\", uniqueId('recharts-area-'));\n _defineProperty(_assertThisInitialized(_this), \"handleAnimationEnd\", function () {\n var onAnimationEnd = _this.props.onAnimationEnd;\n _this.setState({\n isAnimationFinished: true\n });\n if (isFunction(onAnimationEnd)) {\n onAnimationEnd();\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"handleAnimationStart\", function () {\n var onAnimationStart = _this.props.onAnimationStart;\n _this.setState({\n isAnimationFinished: false\n });\n if (isFunction(onAnimationStart)) {\n onAnimationStart();\n }\n });\n return _this;\n }\n _createClass(Area, [{\n key: \"renderDots\",\n value: function renderDots(needClip, clipDot, clipPathId) {\n var isAnimationActive = this.props.isAnimationActive;\n var isAnimationFinished = this.state.isAnimationFinished;\n if (isAnimationActive && !isAnimationFinished) {\n return null;\n }\n var _this$props = this.props,\n dot = _this$props.dot,\n points = _this$props.points,\n dataKey = _this$props.dataKey;\n var areaProps = filterProps(this.props, false);\n var customDotProps = filterProps(dot, true);\n var dots = points.map(function (entry, i) {\n var dotProps = _objectSpread(_objectSpread(_objectSpread({\n key: \"dot-\".concat(i),\n r: 3\n }, areaProps), customDotProps), {}, {\n dataKey: dataKey,\n cx: entry.x,\n cy: entry.y,\n index: i,\n value: entry.value,\n payload: entry.payload\n });\n return Area.renderDotItem(dot, dotProps);\n });\n var dotsProps = {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipDot ? '' : 'dots-').concat(clipPathId, \")\") : null\n };\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-area-dots\"\n }, dotsProps), dots);\n }\n }, {\n key: \"renderHorizontalRect\",\n value: function renderHorizontalRect(alpha) {\n var _this$props2 = this.props,\n baseLine = _this$props2.baseLine,\n points = _this$props2.points,\n strokeWidth = _this$props2.strokeWidth;\n var startX = points[0].x;\n var endX = points[points.length - 1].x;\n var width = alpha * Math.abs(startX - endX);\n var maxY = max(points.map(function (entry) {\n return entry.y || 0;\n }));\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n maxY = Math.max(baseLine, maxY);\n } else if (baseLine && Array.isArray(baseLine) && baseLine.length) {\n maxY = Math.max(max(baseLine.map(function (entry) {\n return entry.y || 0;\n })), maxY);\n }\n if (isNumber(maxY)) {\n return /*#__PURE__*/React.createElement(\"rect\", {\n x: startX < endX ? startX : startX - width,\n y: 0,\n width: width,\n height: Math.floor(maxY + (strokeWidth ? parseInt(\"\".concat(strokeWidth), 10) : 1))\n });\n }\n return null;\n }\n }, {\n key: \"renderVerticalRect\",\n value: function renderVerticalRect(alpha) {\n var _this$props3 = this.props,\n baseLine = _this$props3.baseLine,\n points = _this$props3.points,\n strokeWidth = _this$props3.strokeWidth;\n var startY = points[0].y;\n var endY = points[points.length - 1].y;\n var height = alpha * Math.abs(startY - endY);\n var maxX = max(points.map(function (entry) {\n return entry.x || 0;\n }));\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n maxX = Math.max(baseLine, maxX);\n } else if (baseLine && Array.isArray(baseLine) && baseLine.length) {\n maxX = Math.max(max(baseLine.map(function (entry) {\n return entry.x || 0;\n })), maxX);\n }\n if (isNumber(maxX)) {\n return /*#__PURE__*/React.createElement(\"rect\", {\n x: 0,\n y: startY < endY ? startY : startY - height,\n width: maxX + (strokeWidth ? parseInt(\"\".concat(strokeWidth), 10) : 1),\n height: Math.floor(height)\n });\n }\n return null;\n }\n }, {\n key: \"renderClipRect\",\n value: function renderClipRect(alpha) {\n var layout = this.props.layout;\n if (layout === 'vertical') {\n return this.renderVerticalRect(alpha);\n }\n return this.renderHorizontalRect(alpha);\n }\n }, {\n key: \"renderAreaStatically\",\n value: function renderAreaStatically(points, baseLine, needClip, clipPathId) {\n var _this$props4 = this.props,\n layout = _this$props4.layout,\n type = _this$props4.type,\n stroke = _this$props4.stroke,\n connectNulls = _this$props4.connectNulls,\n isRange = _this$props4.isRange,\n ref = _this$props4.ref,\n others = _objectWithoutProperties(_this$props4, _excluded);\n return /*#__PURE__*/React.createElement(Layer, {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null\n }, /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(others, true), {\n points: points,\n connectNulls: connectNulls,\n type: type,\n baseLine: baseLine,\n layout: layout,\n stroke: \"none\",\n className: \"recharts-area-area\"\n })), stroke !== 'none' && /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(this.props, false), {\n className: \"recharts-area-curve\",\n layout: layout,\n type: type,\n connectNulls: connectNulls,\n fill: \"none\",\n points: points\n })), stroke !== 'none' && isRange && /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(this.props, false), {\n className: \"recharts-area-curve\",\n layout: layout,\n type: type,\n connectNulls: connectNulls,\n fill: \"none\",\n points: baseLine\n })));\n }\n }, {\n key: \"renderAreaWithAnimation\",\n value: function renderAreaWithAnimation(needClip, clipPathId) {\n var _this2 = this;\n var _this$props5 = this.props,\n points = _this$props5.points,\n baseLine = _this$props5.baseLine,\n isAnimationActive = _this$props5.isAnimationActive,\n animationBegin = _this$props5.animationBegin,\n animationDuration = _this$props5.animationDuration,\n animationEasing = _this$props5.animationEasing,\n animationId = _this$props5.animationId;\n var _this$state = this.state,\n prevPoints = _this$state.prevPoints,\n prevBaseLine = _this$state.prevBaseLine;\n // const clipPathId = isNil(id) ? this.id : id;\n\n return /*#__PURE__*/React.createElement(Animate, {\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n from: {\n t: 0\n },\n to: {\n t: 1\n },\n key: \"area-\".concat(animationId),\n onAnimationEnd: this.handleAnimationEnd,\n onAnimationStart: this.handleAnimationStart\n }, function (_ref) {\n var t = _ref.t;\n if (prevPoints) {\n var prevPointsDiffFactor = prevPoints.length / points.length;\n // update animtaion\n var stepPoints = points.map(function (entry, index) {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\n if (prevPoints[prevPointIndex]) {\n var prev = prevPoints[prevPointIndex];\n var interpolatorX = interpolateNumber(prev.x, entry.x);\n var interpolatorY = interpolateNumber(prev.y, entry.y);\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolatorX(t),\n y: interpolatorY(t)\n });\n }\n return entry;\n });\n var stepBaseLine;\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n var interpolator = interpolateNumber(prevBaseLine, baseLine);\n stepBaseLine = interpolator(t);\n } else if (isNil(baseLine) || isNan(baseLine)) {\n var _interpolator = interpolateNumber(prevBaseLine, 0);\n stepBaseLine = _interpolator(t);\n } else {\n stepBaseLine = baseLine.map(function (entry, index) {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\n if (prevBaseLine[prevPointIndex]) {\n var prev = prevBaseLine[prevPointIndex];\n var interpolatorX = interpolateNumber(prev.x, entry.x);\n var interpolatorY = interpolateNumber(prev.y, entry.y);\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolatorX(t),\n y: interpolatorY(t)\n });\n }\n return entry;\n });\n }\n return _this2.renderAreaStatically(stepPoints, stepBaseLine, needClip, clipPathId);\n }\n return /*#__PURE__*/React.createElement(Layer, null, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"animationClipPath-\".concat(clipPathId)\n }, _this2.renderClipRect(t))), /*#__PURE__*/React.createElement(Layer, {\n clipPath: \"url(#animationClipPath-\".concat(clipPathId, \")\")\n }, _this2.renderAreaStatically(points, baseLine, needClip, clipPathId)));\n });\n }\n }, {\n key: \"renderArea\",\n value: function renderArea(needClip, clipPathId) {\n var _this$props6 = this.props,\n points = _this$props6.points,\n baseLine = _this$props6.baseLine,\n isAnimationActive = _this$props6.isAnimationActive;\n var _this$state2 = this.state,\n prevPoints = _this$state2.prevPoints,\n prevBaseLine = _this$state2.prevBaseLine,\n totalLength = _this$state2.totalLength;\n if (isAnimationActive && points && points.length && (!prevPoints && totalLength > 0 || !isEqual(prevPoints, points) || !isEqual(prevBaseLine, baseLine))) {\n return this.renderAreaWithAnimation(needClip, clipPathId);\n }\n return this.renderAreaStatically(points, baseLine, needClip, clipPathId);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _filterProps;\n var _this$props7 = this.props,\n hide = _this$props7.hide,\n dot = _this$props7.dot,\n points = _this$props7.points,\n className = _this$props7.className,\n top = _this$props7.top,\n left = _this$props7.left,\n xAxis = _this$props7.xAxis,\n yAxis = _this$props7.yAxis,\n width = _this$props7.width,\n height = _this$props7.height,\n isAnimationActive = _this$props7.isAnimationActive,\n id = _this$props7.id;\n if (hide || !points || !points.length) {\n return null;\n }\n var isAnimationFinished = this.state.isAnimationFinished;\n var hasSinglePoint = points.length === 1;\n var layerClass = clsx('recharts-area', className);\n var needClipX = xAxis && xAxis.allowDataOverflow;\n var needClipY = yAxis && yAxis.allowDataOverflow;\n var needClip = needClipX || needClipY;\n var clipPathId = isNil(id) ? this.id : id;\n var _ref2 = (_filterProps = filterProps(dot, false)) !== null && _filterProps !== void 0 ? _filterProps : {\n r: 3,\n strokeWidth: 2\n },\n _ref2$r = _ref2.r,\n r = _ref2$r === void 0 ? 3 : _ref2$r,\n _ref2$strokeWidth = _ref2.strokeWidth,\n strokeWidth = _ref2$strokeWidth === void 0 ? 2 : _ref2$strokeWidth;\n var _ref3 = isDotProps(dot) ? dot : {},\n _ref3$clipDot = _ref3.clipDot,\n clipDot = _ref3$clipDot === void 0 ? true : _ref3$clipDot;\n var dotSize = r * 2 + strokeWidth;\n return /*#__PURE__*/React.createElement(Layer, {\n className: layerClass\n }, needClipX || needClipY ? /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: needClipX ? left : left - width / 2,\n y: needClipY ? top : top - height / 2,\n width: needClipX ? width : width * 2,\n height: needClipY ? height : height * 2\n })), !clipDot && /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-dots-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: left - dotSize / 2,\n y: top - dotSize / 2,\n width: width + dotSize,\n height: height + dotSize\n }))) : null, !hasSinglePoint ? this.renderArea(needClip, clipPathId) : null, (dot || hasSinglePoint) && this.renderDots(needClip, clipDot, clipPathId), (!isAnimationActive || isAnimationFinished) && LabelList.renderCallByParent(this.props, points));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.animationId !== prevState.prevAnimationId) {\n return {\n prevAnimationId: nextProps.animationId,\n curPoints: nextProps.points,\n curBaseLine: nextProps.baseLine,\n prevPoints: prevState.curPoints,\n prevBaseLine: prevState.curBaseLine\n };\n }\n if (nextProps.points !== prevState.curPoints || nextProps.baseLine !== prevState.curBaseLine) {\n return {\n curPoints: nextProps.points,\n curBaseLine: nextProps.baseLine\n };\n }\n return null;\n }\n }]);\n return Area;\n}(PureComponent);\n_Area = Area;\n_defineProperty(Area, \"displayName\", 'Area');\n_defineProperty(Area, \"defaultProps\", {\n stroke: '#3182bd',\n fill: '#3182bd',\n fillOpacity: 0.6,\n xAxisId: 0,\n yAxisId: 0,\n legendType: 'line',\n connectNulls: false,\n // points of area\n points: [],\n dot: false,\n activeDot: true,\n hide: false,\n isAnimationActive: !Global.isSsr,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: 'ease'\n});\n_defineProperty(Area, \"getBaseValue\", function (props, item, xAxis, yAxis) {\n var layout = props.layout,\n chartBaseValue = props.baseValue;\n var itemBaseValue = item.props.baseValue;\n\n // The baseValue can be defined both on the AreaChart as well as on the Area.\n // The value for the item takes precedence.\n var baseValue = itemBaseValue !== null && itemBaseValue !== void 0 ? itemBaseValue : chartBaseValue;\n if (isNumber(baseValue) && typeof baseValue === 'number') {\n return baseValue;\n }\n var numericAxis = layout === 'horizontal' ? yAxis : xAxis;\n var domain = numericAxis.scale.domain();\n if (numericAxis.type === 'number') {\n var domainMax = Math.max(domain[0], domain[1]);\n var domainMin = Math.min(domain[0], domain[1]);\n if (baseValue === 'dataMin') {\n return domainMin;\n }\n if (baseValue === 'dataMax') {\n return domainMax;\n }\n return domainMax < 0 ? domainMax : Math.max(Math.min(domain[0], domain[1]), 0);\n }\n if (baseValue === 'dataMin') {\n return domain[0];\n }\n if (baseValue === 'dataMax') {\n return domain[1];\n }\n return domain[0];\n});\n_defineProperty(Area, \"getComposedData\", function (_ref4) {\n var props = _ref4.props,\n item = _ref4.item,\n xAxis = _ref4.xAxis,\n yAxis = _ref4.yAxis,\n xAxisTicks = _ref4.xAxisTicks,\n yAxisTicks = _ref4.yAxisTicks,\n bandSize = _ref4.bandSize,\n dataKey = _ref4.dataKey,\n stackedData = _ref4.stackedData,\n dataStartIndex = _ref4.dataStartIndex,\n displayedData = _ref4.displayedData,\n offset = _ref4.offset;\n var layout = props.layout;\n var hasStack = stackedData && stackedData.length;\n var baseValue = _Area.getBaseValue(props, item, xAxis, yAxis);\n var isHorizontalLayout = layout === 'horizontal';\n var isRange = false;\n var points = displayedData.map(function (entry, index) {\n var value;\n if (hasStack) {\n value = stackedData[dataStartIndex + index];\n } else {\n value = getValueByDataKey(entry, dataKey);\n if (!Array.isArray(value)) {\n value = [baseValue, value];\n } else {\n isRange = true;\n }\n }\n var isBreakPoint = value[1] == null || hasStack && getValueByDataKey(entry, dataKey) == null;\n if (isHorizontalLayout) {\n return {\n x: getCateCoordinateOfLine({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize: bandSize,\n entry: entry,\n index: index\n }),\n y: isBreakPoint ? null : yAxis.scale(value[1]),\n value: value,\n payload: entry\n };\n }\n return {\n x: isBreakPoint ? null : xAxis.scale(value[1]),\n y: getCateCoordinateOfLine({\n axis: yAxis,\n ticks: yAxisTicks,\n bandSize: bandSize,\n entry: entry,\n index: index\n }),\n value: value,\n payload: entry\n };\n });\n var baseLine;\n if (hasStack || isRange) {\n baseLine = points.map(function (entry) {\n var x = Array.isArray(entry.value) ? entry.value[0] : null;\n if (isHorizontalLayout) {\n return {\n x: entry.x,\n y: x != null && entry.y != null ? yAxis.scale(x) : null\n };\n }\n return {\n x: x != null ? xAxis.scale(x) : null,\n y: entry.y\n };\n });\n } else {\n baseLine = isHorizontalLayout ? yAxis.scale(baseValue) : xAxis.scale(baseValue);\n }\n return _objectSpread({\n points: points,\n baseLine: baseLine,\n layout: layout,\n isRange: isRange\n }, offset);\n});\n_defineProperty(Area, \"renderDotItem\", function (option, props) {\n var dotItem;\n if ( /*#__PURE__*/React.isValidElement(option)) {\n dotItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (isFunction(option)) {\n dotItem = option(props);\n } else {\n var className = clsx('recharts-area-dot', typeof option !== 'boolean' ? option.className : '');\n dotItem = /*#__PURE__*/React.createElement(Dot, _extends({}, props, {\n className: className\n }));\n }\n return dotItem;\n});","/**\n * @fileOverview Area Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { Area } from '../cartesian/Area';\nimport { XAxis } from '../cartesian/XAxis';\nimport { YAxis } from '../cartesian/YAxis';\nimport { formatAxisMap } from '../util/CartesianUtils';\nexport var AreaChart = generateCategoricalChart({\n chartName: 'AreaChart',\n GraphicalChild: Area,\n axisComponents: [{\n axisType: 'xAxis',\n AxisComp: XAxis\n }, {\n axisType: 'yAxis',\n AxisComp: YAxis\n }],\n formatAxisMap: formatAxisMap\n});","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : String(i); }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n/**\n * @fileOverview Wrapper component to make charts adapt to the size of parent * DOM\n */\nimport clsx from 'clsx';\nimport React, { forwardRef, cloneElement, useState, useImperativeHandle, useRef, useEffect, useMemo, useCallback } from 'react';\nimport throttle from 'lodash/throttle';\nimport { isElement } from 'react-is';\nimport { isPercent } from '../util/DataUtils';\nimport { warn } from '../util/LogUtils';\nimport { getDisplayName } from '../util/ReactUtils';\nexport var ResponsiveContainer = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var aspect = _ref.aspect,\n _ref$initialDimension = _ref.initialDimension,\n initialDimension = _ref$initialDimension === void 0 ? {\n width: -1,\n height: -1\n } : _ref$initialDimension,\n _ref$width = _ref.width,\n width = _ref$width === void 0 ? '100%' : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? '100%' : _ref$height,\n _ref$minWidth = _ref.minWidth,\n minWidth = _ref$minWidth === void 0 ? 0 : _ref$minWidth,\n minHeight = _ref.minHeight,\n maxHeight = _ref.maxHeight,\n children = _ref.children,\n _ref$debounce = _ref.debounce,\n debounce = _ref$debounce === void 0 ? 0 : _ref$debounce,\n id = _ref.id,\n className = _ref.className,\n onResize = _ref.onResize,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style;\n var containerRef = useRef(null);\n var onResizeRef = useRef();\n onResizeRef.current = onResize;\n useImperativeHandle(ref, function () {\n return Object.defineProperty(containerRef.current, 'current', {\n get: function get() {\n // eslint-disable-next-line no-console\n console.warn('The usage of ref.current.current is deprecated and will no longer be supported.');\n return containerRef.current;\n },\n configurable: true\n });\n });\n var _useState = useState({\n containerWidth: initialDimension.width,\n containerHeight: initialDimension.height\n }),\n _useState2 = _slicedToArray(_useState, 2),\n sizes = _useState2[0],\n setSizes = _useState2[1];\n var setContainerSize = useCallback(function (newWidth, newHeight) {\n setSizes(function (prevState) {\n var roundedWidth = Math.round(newWidth);\n var roundedHeight = Math.round(newHeight);\n if (prevState.containerWidth === roundedWidth && prevState.containerHeight === roundedHeight) {\n return prevState;\n }\n return {\n containerWidth: roundedWidth,\n containerHeight: roundedHeight\n };\n });\n }, []);\n useEffect(function () {\n var callback = function callback(entries) {\n var _onResizeRef$current;\n var _entries$0$contentRec = entries[0].contentRect,\n containerWidth = _entries$0$contentRec.width,\n containerHeight = _entries$0$contentRec.height;\n setContainerSize(containerWidth, containerHeight);\n (_onResizeRef$current = onResizeRef.current) === null || _onResizeRef$current === void 0 || _onResizeRef$current.call(onResizeRef, containerWidth, containerHeight);\n };\n if (debounce > 0) {\n callback = throttle(callback, debounce, {\n trailing: true,\n leading: false\n });\n }\n var observer = new ResizeObserver(callback);\n var _containerRef$current = containerRef.current.getBoundingClientRect(),\n containerWidth = _containerRef$current.width,\n containerHeight = _containerRef$current.height;\n setContainerSize(containerWidth, containerHeight);\n observer.observe(containerRef.current);\n return function () {\n observer.disconnect();\n };\n }, [setContainerSize, debounce]);\n var chartContent = useMemo(function () {\n var containerWidth = sizes.containerWidth,\n containerHeight = sizes.containerHeight;\n if (containerWidth < 0 || containerHeight < 0) {\n return null;\n }\n warn(isPercent(width) || isPercent(height), \"The width(%s) and height(%s) are both fixed numbers,\\n maybe you don't need to use a ResponsiveContainer.\", width, height);\n warn(!aspect || aspect > 0, 'The aspect(%s) must be greater than zero.', aspect);\n var calculatedWidth = isPercent(width) ? containerWidth : width;\n var calculatedHeight = isPercent(height) ? containerHeight : height;\n if (aspect && aspect > 0) {\n // Preserve the desired aspect ratio\n if (calculatedWidth) {\n // Will default to using width for aspect ratio\n calculatedHeight = calculatedWidth / aspect;\n } else if (calculatedHeight) {\n // But we should also take height into consideration\n calculatedWidth = calculatedHeight * aspect;\n }\n\n // if maxHeight is set, overwrite if calculatedHeight is greater than maxHeight\n if (maxHeight && calculatedHeight > maxHeight) {\n calculatedHeight = maxHeight;\n }\n }\n warn(calculatedWidth > 0 || calculatedHeight > 0, \"The width(%s) and height(%s) of chart should be greater than 0,\\n please check the style of container, or the props width(%s) and height(%s),\\n or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the\\n height and width.\", calculatedWidth, calculatedHeight, width, height, minWidth, minHeight, aspect);\n var isCharts = !Array.isArray(children) && isElement(children) && getDisplayName(children.type).endsWith('Chart');\n return React.Children.map(children, function (child) {\n if (isElement(child)) {\n return /*#__PURE__*/cloneElement(child, _objectSpread({\n width: calculatedWidth,\n height: calculatedHeight\n }, isCharts ? {\n style: _objectSpread({\n height: '100%',\n width: '100%',\n maxHeight: calculatedHeight,\n maxWidth: calculatedWidth\n }, child.props.style)\n } : {}));\n }\n return child;\n });\n }, [aspect, children, height, maxHeight, minHeight, minWidth, sizes, width]);\n return /*#__PURE__*/React.createElement(\"div\", {\n id: id ? \"\".concat(id) : undefined,\n className: clsx('recharts-responsive-container', className),\n style: _objectSpread(_objectSpread({}, style), {}, {\n width: width,\n height: height,\n minWidth: minWidth,\n minHeight: minHeight,\n maxHeight: maxHeight\n }),\n ref: containerRef\n }, chartContent);\n});"],"names":["_Area","_excluded","_typeof","o","Symbol","iterator","constructor","prototype","_objectWithoutProperties","source","excluded","key","i","target","sourceKeys","Object","keys","length","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","call","_extends","assign","bind","arguments","hasOwnProperty","apply","this","ownKeys","e","r","t","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_defineProperties","props","descriptor","configurable","writable","_toPropertyKey","_callSuper","_getPrototypeOf","self","TypeError","_assertThisInitialized","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","Boolean","valueOf","setPrototypeOf","getPrototypeOf","__proto__","ReferenceError","_setPrototypeOf","p","obj","value","toPrimitive","String","Number","_toPrimitive","Area","_PureComponent","_this","instance","Constructor","_classCallCheck","_len","args","Array","_key","concat","isAnimationFinished","uniqueId","onAnimationEnd","setState","isFunction","onAnimationStart","protoProps","staticProps","subClass","superClass","create","_inherits","nextProps","prevState","animationId","prevAnimationId","curPoints","points","curBaseLine","baseLine","prevPoints","prevBaseLine","needClip","clipDot","clipPathId","isAnimationActive","state","_this$props","dot","dataKey","areaProps","filterProps","customDotProps","dots","map","entry","dotProps","cx","x","cy","y","index","payload","renderDotItem","dotsProps","clipPath","React","Layer","className","alpha","_this$props2","strokeWidth","startX","endX","width","Math","abs","maxY","max","isNumber","isArray","height","floor","parseInt","_this$props3","startY","endY","maxX","layout","renderVerticalRect","renderHorizontalRect","_this$props4","type","stroke","connectNulls","isRange","others","ref","Curve","fill","_this2","_this$props5","animationBegin","animationDuration","animationEasing","_this$state","Animate","begin","duration","isActive","easing","from","to","handleAnimationEnd","handleAnimationStart","_ref","stepBaseLine","prevPointsDiffFactor","stepPoints","prevPointIndex","prev","interpolatorX","interpolateNumber","interpolatorY","interpolator","isNil","isNan","_interpolator","renderAreaStatically","id","renderClipRect","_this$props6","_this$state2","totalLength","isEqual","renderAreaWithAnimation","_filterProps","_this$props7","hide","top","left","xAxis","yAxis","hasSinglePoint","layerClass","clsx","needClipX","allowDataOverflow","needClipY","_ref2","_ref2$r","_ref2$strokeWidth","_ref3$clipDot","isDotProps","dotSize","renderArea","renderDots","LabelList","renderCallByParent","PureComponent","fillOpacity","xAxisId","yAxisId","legendType","activeDot","Global","isSsr","item","chartBaseValue","baseValue","itemBaseValue","numericAxis","domain","scale","domainMax","domainMin","min","_ref4","xAxisTicks","yAxisTicks","bandSize","stackedData","dataStartIndex","displayedData","offset","hasStack","getBaseValue","isHorizontalLayout","getValueByDataKey","isBreakPoint","getCateCoordinateOfLine","axis","ticks","option","dotItem","Dot","AreaChart","generateCategoricalChart","chartName","GraphicalChild","axisComponents","axisType","AxisComp","XAxis","YAxis","formatAxisMap","_slicedToArray","arr","_arrayWithHoles","l","n","u","a","f","next","done","_iterableToArrayLimit","minLen","_arrayLikeToArray","toString","slice","name","test","_unsupportedIterableToArray","_nonIterableRest","len","arr2","ResponsiveContainer","forwardRef","aspect","_ref$initialDimension","initialDimension","_ref$width","_ref$height","_ref$minWidth","minWidth","minHeight","maxHeight","children","_ref$debounce","debounce","onResize","_ref$style","style","containerRef","useRef","onResizeRef","current","useImperativeHandle","get","console","warn","_useState2","useState","containerWidth","containerHeight","sizes","setSizes","setContainerSize","useCallback","newWidth","newHeight","roundedWidth","round","roundedHeight","useEffect","callback","entries","_onResizeRef$current","_entries$0$contentRec","contentRect","throttle","trailing","leading","observer","ResizeObserver","_containerRef$current","getBoundingClientRect","observe","disconnect","chartContent","useMemo","isPercent","calculatedWidth","calculatedHeight","isCharts","isElement","getDisplayName","endsWith","child","cloneElement","maxWidth","undefined"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"static/js/6016.3475b798.chunk.js","mappings":"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","sources":["../node_modules/recharts/es6/cartesian/Area.js","../node_modules/recharts/es6/chart/AreaChart.js","../node_modules/recharts/es6/component/ResponsiveContainer.js"],"sourcesContent":["var _excluded = [\"layout\", \"type\", \"stroke\", \"connectNulls\", \"isRange\", \"ref\"];\nvar _Area;\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : String(i); }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n/**\n * @fileOverview Area\n */\nimport React, { PureComponent } from 'react';\nimport clsx from 'clsx';\nimport Animate from 'react-smooth';\nimport isFunction from 'lodash/isFunction';\nimport max from 'lodash/max';\nimport isNil from 'lodash/isNil';\nimport isNan from 'lodash/isNaN';\nimport isEqual from 'lodash/isEqual';\nimport { Curve } from '../shape/Curve';\nimport { Dot } from '../shape/Dot';\nimport { Layer } from '../container/Layer';\nimport { LabelList } from '../component/LabelList';\nimport { Global } from '../util/Global';\nimport { isNumber, uniqueId, interpolateNumber } from '../util/DataUtils';\nimport { getCateCoordinateOfLine, getValueByDataKey } from '../util/ChartUtils';\nimport { filterProps, isDotProps } from '../util/ReactUtils';\nexport var Area = /*#__PURE__*/function (_PureComponent) {\n _inherits(Area, _PureComponent);\n function Area() {\n var _this;\n _classCallCheck(this, Area);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _callSuper(this, Area, [].concat(args));\n _defineProperty(_assertThisInitialized(_this), \"state\", {\n isAnimationFinished: true\n });\n _defineProperty(_assertThisInitialized(_this), \"id\", uniqueId('recharts-area-'));\n _defineProperty(_assertThisInitialized(_this), \"handleAnimationEnd\", function () {\n var onAnimationEnd = _this.props.onAnimationEnd;\n _this.setState({\n isAnimationFinished: true\n });\n if (isFunction(onAnimationEnd)) {\n onAnimationEnd();\n }\n });\n _defineProperty(_assertThisInitialized(_this), \"handleAnimationStart\", function () {\n var onAnimationStart = _this.props.onAnimationStart;\n _this.setState({\n isAnimationFinished: false\n });\n if (isFunction(onAnimationStart)) {\n onAnimationStart();\n }\n });\n return _this;\n }\n _createClass(Area, [{\n key: \"renderDots\",\n value: function renderDots(needClip, clipDot, clipPathId) {\n var isAnimationActive = this.props.isAnimationActive;\n var isAnimationFinished = this.state.isAnimationFinished;\n if (isAnimationActive && !isAnimationFinished) {\n return null;\n }\n var _this$props = this.props,\n dot = _this$props.dot,\n points = _this$props.points,\n dataKey = _this$props.dataKey;\n var areaProps = filterProps(this.props, false);\n var customDotProps = filterProps(dot, true);\n var dots = points.map(function (entry, i) {\n var dotProps = _objectSpread(_objectSpread(_objectSpread({\n key: \"dot-\".concat(i),\n r: 3\n }, areaProps), customDotProps), {}, {\n dataKey: dataKey,\n cx: entry.x,\n cy: entry.y,\n index: i,\n value: entry.value,\n payload: entry.payload\n });\n return Area.renderDotItem(dot, dotProps);\n });\n var dotsProps = {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipDot ? '' : 'dots-').concat(clipPathId, \")\") : null\n };\n return /*#__PURE__*/React.createElement(Layer, _extends({\n className: \"recharts-area-dots\"\n }, dotsProps), dots);\n }\n }, {\n key: \"renderHorizontalRect\",\n value: function renderHorizontalRect(alpha) {\n var _this$props2 = this.props,\n baseLine = _this$props2.baseLine,\n points = _this$props2.points,\n strokeWidth = _this$props2.strokeWidth;\n var startX = points[0].x;\n var endX = points[points.length - 1].x;\n var width = alpha * Math.abs(startX - endX);\n var maxY = max(points.map(function (entry) {\n return entry.y || 0;\n }));\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n maxY = Math.max(baseLine, maxY);\n } else if (baseLine && Array.isArray(baseLine) && baseLine.length) {\n maxY = Math.max(max(baseLine.map(function (entry) {\n return entry.y || 0;\n })), maxY);\n }\n if (isNumber(maxY)) {\n return /*#__PURE__*/React.createElement(\"rect\", {\n x: startX < endX ? startX : startX - width,\n y: 0,\n width: width,\n height: Math.floor(maxY + (strokeWidth ? parseInt(\"\".concat(strokeWidth), 10) : 1))\n });\n }\n return null;\n }\n }, {\n key: \"renderVerticalRect\",\n value: function renderVerticalRect(alpha) {\n var _this$props3 = this.props,\n baseLine = _this$props3.baseLine,\n points = _this$props3.points,\n strokeWidth = _this$props3.strokeWidth;\n var startY = points[0].y;\n var endY = points[points.length - 1].y;\n var height = alpha * Math.abs(startY - endY);\n var maxX = max(points.map(function (entry) {\n return entry.x || 0;\n }));\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n maxX = Math.max(baseLine, maxX);\n } else if (baseLine && Array.isArray(baseLine) && baseLine.length) {\n maxX = Math.max(max(baseLine.map(function (entry) {\n return entry.x || 0;\n })), maxX);\n }\n if (isNumber(maxX)) {\n return /*#__PURE__*/React.createElement(\"rect\", {\n x: 0,\n y: startY < endY ? startY : startY - height,\n width: maxX + (strokeWidth ? parseInt(\"\".concat(strokeWidth), 10) : 1),\n height: Math.floor(height)\n });\n }\n return null;\n }\n }, {\n key: \"renderClipRect\",\n value: function renderClipRect(alpha) {\n var layout = this.props.layout;\n if (layout === 'vertical') {\n return this.renderVerticalRect(alpha);\n }\n return this.renderHorizontalRect(alpha);\n }\n }, {\n key: \"renderAreaStatically\",\n value: function renderAreaStatically(points, baseLine, needClip, clipPathId) {\n var _this$props4 = this.props,\n layout = _this$props4.layout,\n type = _this$props4.type,\n stroke = _this$props4.stroke,\n connectNulls = _this$props4.connectNulls,\n isRange = _this$props4.isRange,\n ref = _this$props4.ref,\n others = _objectWithoutProperties(_this$props4, _excluded);\n return /*#__PURE__*/React.createElement(Layer, {\n clipPath: needClip ? \"url(#clipPath-\".concat(clipPathId, \")\") : null\n }, /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(others, true), {\n points: points,\n connectNulls: connectNulls,\n type: type,\n baseLine: baseLine,\n layout: layout,\n stroke: \"none\",\n className: \"recharts-area-area\"\n })), stroke !== 'none' && /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(this.props, false), {\n className: \"recharts-area-curve\",\n layout: layout,\n type: type,\n connectNulls: connectNulls,\n fill: \"none\",\n points: points\n })), stroke !== 'none' && isRange && /*#__PURE__*/React.createElement(Curve, _extends({}, filterProps(this.props, false), {\n className: \"recharts-area-curve\",\n layout: layout,\n type: type,\n connectNulls: connectNulls,\n fill: \"none\",\n points: baseLine\n })));\n }\n }, {\n key: \"renderAreaWithAnimation\",\n value: function renderAreaWithAnimation(needClip, clipPathId) {\n var _this2 = this;\n var _this$props5 = this.props,\n points = _this$props5.points,\n baseLine = _this$props5.baseLine,\n isAnimationActive = _this$props5.isAnimationActive,\n animationBegin = _this$props5.animationBegin,\n animationDuration = _this$props5.animationDuration,\n animationEasing = _this$props5.animationEasing,\n animationId = _this$props5.animationId;\n var _this$state = this.state,\n prevPoints = _this$state.prevPoints,\n prevBaseLine = _this$state.prevBaseLine;\n // const clipPathId = isNil(id) ? this.id : id;\n\n return /*#__PURE__*/React.createElement(Animate, {\n begin: animationBegin,\n duration: animationDuration,\n isActive: isAnimationActive,\n easing: animationEasing,\n from: {\n t: 0\n },\n to: {\n t: 1\n },\n key: \"area-\".concat(animationId),\n onAnimationEnd: this.handleAnimationEnd,\n onAnimationStart: this.handleAnimationStart\n }, function (_ref) {\n var t = _ref.t;\n if (prevPoints) {\n var prevPointsDiffFactor = prevPoints.length / points.length;\n // update animtaion\n var stepPoints = points.map(function (entry, index) {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\n if (prevPoints[prevPointIndex]) {\n var prev = prevPoints[prevPointIndex];\n var interpolatorX = interpolateNumber(prev.x, entry.x);\n var interpolatorY = interpolateNumber(prev.y, entry.y);\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolatorX(t),\n y: interpolatorY(t)\n });\n }\n return entry;\n });\n var stepBaseLine;\n if (isNumber(baseLine) && typeof baseLine === 'number') {\n var interpolator = interpolateNumber(prevBaseLine, baseLine);\n stepBaseLine = interpolator(t);\n } else if (isNil(baseLine) || isNan(baseLine)) {\n var _interpolator = interpolateNumber(prevBaseLine, 0);\n stepBaseLine = _interpolator(t);\n } else {\n stepBaseLine = baseLine.map(function (entry, index) {\n var prevPointIndex = Math.floor(index * prevPointsDiffFactor);\n if (prevBaseLine[prevPointIndex]) {\n var prev = prevBaseLine[prevPointIndex];\n var interpolatorX = interpolateNumber(prev.x, entry.x);\n var interpolatorY = interpolateNumber(prev.y, entry.y);\n return _objectSpread(_objectSpread({}, entry), {}, {\n x: interpolatorX(t),\n y: interpolatorY(t)\n });\n }\n return entry;\n });\n }\n return _this2.renderAreaStatically(stepPoints, stepBaseLine, needClip, clipPathId);\n }\n return /*#__PURE__*/React.createElement(Layer, null, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"animationClipPath-\".concat(clipPathId)\n }, _this2.renderClipRect(t))), /*#__PURE__*/React.createElement(Layer, {\n clipPath: \"url(#animationClipPath-\".concat(clipPathId, \")\")\n }, _this2.renderAreaStatically(points, baseLine, needClip, clipPathId)));\n });\n }\n }, {\n key: \"renderArea\",\n value: function renderArea(needClip, clipPathId) {\n var _this$props6 = this.props,\n points = _this$props6.points,\n baseLine = _this$props6.baseLine,\n isAnimationActive = _this$props6.isAnimationActive;\n var _this$state2 = this.state,\n prevPoints = _this$state2.prevPoints,\n prevBaseLine = _this$state2.prevBaseLine,\n totalLength = _this$state2.totalLength;\n if (isAnimationActive && points && points.length && (!prevPoints && totalLength > 0 || !isEqual(prevPoints, points) || !isEqual(prevBaseLine, baseLine))) {\n return this.renderAreaWithAnimation(needClip, clipPathId);\n }\n return this.renderAreaStatically(points, baseLine, needClip, clipPathId);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _filterProps;\n var _this$props7 = this.props,\n hide = _this$props7.hide,\n dot = _this$props7.dot,\n points = _this$props7.points,\n className = _this$props7.className,\n top = _this$props7.top,\n left = _this$props7.left,\n xAxis = _this$props7.xAxis,\n yAxis = _this$props7.yAxis,\n width = _this$props7.width,\n height = _this$props7.height,\n isAnimationActive = _this$props7.isAnimationActive,\n id = _this$props7.id;\n if (hide || !points || !points.length) {\n return null;\n }\n var isAnimationFinished = this.state.isAnimationFinished;\n var hasSinglePoint = points.length === 1;\n var layerClass = clsx('recharts-area', className);\n var needClipX = xAxis && xAxis.allowDataOverflow;\n var needClipY = yAxis && yAxis.allowDataOverflow;\n var needClip = needClipX || needClipY;\n var clipPathId = isNil(id) ? this.id : id;\n var _ref2 = (_filterProps = filterProps(dot, false)) !== null && _filterProps !== void 0 ? _filterProps : {\n r: 3,\n strokeWidth: 2\n },\n _ref2$r = _ref2.r,\n r = _ref2$r === void 0 ? 3 : _ref2$r,\n _ref2$strokeWidth = _ref2.strokeWidth,\n strokeWidth = _ref2$strokeWidth === void 0 ? 2 : _ref2$strokeWidth;\n var _ref3 = isDotProps(dot) ? dot : {},\n _ref3$clipDot = _ref3.clipDot,\n clipDot = _ref3$clipDot === void 0 ? true : _ref3$clipDot;\n var dotSize = r * 2 + strokeWidth;\n return /*#__PURE__*/React.createElement(Layer, {\n className: layerClass\n }, needClipX || needClipY ? /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: needClipX ? left : left - width / 2,\n y: needClipY ? top : top - height / 2,\n width: needClipX ? width : width * 2,\n height: needClipY ? height : height * 2\n })), !clipDot && /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clipPath-dots-\".concat(clipPathId)\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: left - dotSize / 2,\n y: top - dotSize / 2,\n width: width + dotSize,\n height: height + dotSize\n }))) : null, !hasSinglePoint ? this.renderArea(needClip, clipPathId) : null, (dot || hasSinglePoint) && this.renderDots(needClip, clipDot, clipPathId), (!isAnimationActive || isAnimationFinished) && LabelList.renderCallByParent(this.props, points));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps, prevState) {\n if (nextProps.animationId !== prevState.prevAnimationId) {\n return {\n prevAnimationId: nextProps.animationId,\n curPoints: nextProps.points,\n curBaseLine: nextProps.baseLine,\n prevPoints: prevState.curPoints,\n prevBaseLine: prevState.curBaseLine\n };\n }\n if (nextProps.points !== prevState.curPoints || nextProps.baseLine !== prevState.curBaseLine) {\n return {\n curPoints: nextProps.points,\n curBaseLine: nextProps.baseLine\n };\n }\n return null;\n }\n }]);\n return Area;\n}(PureComponent);\n_Area = Area;\n_defineProperty(Area, \"displayName\", 'Area');\n_defineProperty(Area, \"defaultProps\", {\n stroke: '#3182bd',\n fill: '#3182bd',\n fillOpacity: 0.6,\n xAxisId: 0,\n yAxisId: 0,\n legendType: 'line',\n connectNulls: false,\n // points of area\n points: [],\n dot: false,\n activeDot: true,\n hide: false,\n isAnimationActive: !Global.isSsr,\n animationBegin: 0,\n animationDuration: 1500,\n animationEasing: 'ease'\n});\n_defineProperty(Area, \"getBaseValue\", function (props, item, xAxis, yAxis) {\n var layout = props.layout,\n chartBaseValue = props.baseValue;\n var itemBaseValue = item.props.baseValue;\n\n // The baseValue can be defined both on the AreaChart as well as on the Area.\n // The value for the item takes precedence.\n var baseValue = itemBaseValue !== null && itemBaseValue !== void 0 ? itemBaseValue : chartBaseValue;\n if (isNumber(baseValue) && typeof baseValue === 'number') {\n return baseValue;\n }\n var numericAxis = layout === 'horizontal' ? yAxis : xAxis;\n var domain = numericAxis.scale.domain();\n if (numericAxis.type === 'number') {\n var domainMax = Math.max(domain[0], domain[1]);\n var domainMin = Math.min(domain[0], domain[1]);\n if (baseValue === 'dataMin') {\n return domainMin;\n }\n if (baseValue === 'dataMax') {\n return domainMax;\n }\n return domainMax < 0 ? domainMax : Math.max(Math.min(domain[0], domain[1]), 0);\n }\n if (baseValue === 'dataMin') {\n return domain[0];\n }\n if (baseValue === 'dataMax') {\n return domain[1];\n }\n return domain[0];\n});\n_defineProperty(Area, \"getComposedData\", function (_ref4) {\n var props = _ref4.props,\n item = _ref4.item,\n xAxis = _ref4.xAxis,\n yAxis = _ref4.yAxis,\n xAxisTicks = _ref4.xAxisTicks,\n yAxisTicks = _ref4.yAxisTicks,\n bandSize = _ref4.bandSize,\n dataKey = _ref4.dataKey,\n stackedData = _ref4.stackedData,\n dataStartIndex = _ref4.dataStartIndex,\n displayedData = _ref4.displayedData,\n offset = _ref4.offset;\n var layout = props.layout;\n var hasStack = stackedData && stackedData.length;\n var baseValue = _Area.getBaseValue(props, item, xAxis, yAxis);\n var isHorizontalLayout = layout === 'horizontal';\n var isRange = false;\n var points = displayedData.map(function (entry, index) {\n var value;\n if (hasStack) {\n value = stackedData[dataStartIndex + index];\n } else {\n value = getValueByDataKey(entry, dataKey);\n if (!Array.isArray(value)) {\n value = [baseValue, value];\n } else {\n isRange = true;\n }\n }\n var isBreakPoint = value[1] == null || hasStack && getValueByDataKey(entry, dataKey) == null;\n if (isHorizontalLayout) {\n return {\n x: getCateCoordinateOfLine({\n axis: xAxis,\n ticks: xAxisTicks,\n bandSize: bandSize,\n entry: entry,\n index: index\n }),\n y: isBreakPoint ? null : yAxis.scale(value[1]),\n value: value,\n payload: entry\n };\n }\n return {\n x: isBreakPoint ? null : xAxis.scale(value[1]),\n y: getCateCoordinateOfLine({\n axis: yAxis,\n ticks: yAxisTicks,\n bandSize: bandSize,\n entry: entry,\n index: index\n }),\n value: value,\n payload: entry\n };\n });\n var baseLine;\n if (hasStack || isRange) {\n baseLine = points.map(function (entry) {\n var x = Array.isArray(entry.value) ? entry.value[0] : null;\n if (isHorizontalLayout) {\n return {\n x: entry.x,\n y: x != null && entry.y != null ? yAxis.scale(x) : null\n };\n }\n return {\n x: x != null ? xAxis.scale(x) : null,\n y: entry.y\n };\n });\n } else {\n baseLine = isHorizontalLayout ? yAxis.scale(baseValue) : xAxis.scale(baseValue);\n }\n return _objectSpread({\n points: points,\n baseLine: baseLine,\n layout: layout,\n isRange: isRange\n }, offset);\n});\n_defineProperty(Area, \"renderDotItem\", function (option, props) {\n var dotItem;\n if ( /*#__PURE__*/React.isValidElement(option)) {\n dotItem = /*#__PURE__*/React.cloneElement(option, props);\n } else if (isFunction(option)) {\n dotItem = option(props);\n } else {\n var className = clsx('recharts-area-dot', typeof option !== 'boolean' ? option.className : '');\n dotItem = /*#__PURE__*/React.createElement(Dot, _extends({}, props, {\n className: className\n }));\n }\n return dotItem;\n});","/**\n * @fileOverview Area Chart\n */\nimport { generateCategoricalChart } from './generateCategoricalChart';\nimport { Area } from '../cartesian/Area';\nimport { XAxis } from '../cartesian/XAxis';\nimport { YAxis } from '../cartesian/YAxis';\nimport { formatAxisMap } from '../util/CartesianUtils';\nexport var AreaChart = generateCategoricalChart({\n chartName: 'AreaChart',\n GraphicalChild: Area,\n axisComponents: [{\n axisType: 'xAxis',\n AxisComp: XAxis\n }, {\n axisType: 'yAxis',\n AxisComp: YAxis\n }],\n formatAxisMap: formatAxisMap\n});","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : String(i); }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nfunction _iterableToArrayLimit(r, l) { var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n/**\n * @fileOverview Wrapper component to make charts adapt to the size of parent * DOM\n */\nimport clsx from 'clsx';\nimport React, { forwardRef, cloneElement, useState, useImperativeHandle, useRef, useEffect, useMemo, useCallback } from 'react';\nimport throttle from 'lodash/throttle';\nimport { isElement } from 'react-is';\nimport { isPercent } from '../util/DataUtils';\nimport { warn } from '../util/LogUtils';\nimport { getDisplayName } from '../util/ReactUtils';\nexport var ResponsiveContainer = /*#__PURE__*/forwardRef(function (_ref, ref) {\n var aspect = _ref.aspect,\n _ref$initialDimension = _ref.initialDimension,\n initialDimension = _ref$initialDimension === void 0 ? {\n width: -1,\n height: -1\n } : _ref$initialDimension,\n _ref$width = _ref.width,\n width = _ref$width === void 0 ? '100%' : _ref$width,\n _ref$height = _ref.height,\n height = _ref$height === void 0 ? '100%' : _ref$height,\n _ref$minWidth = _ref.minWidth,\n minWidth = _ref$minWidth === void 0 ? 0 : _ref$minWidth,\n minHeight = _ref.minHeight,\n maxHeight = _ref.maxHeight,\n children = _ref.children,\n _ref$debounce = _ref.debounce,\n debounce = _ref$debounce === void 0 ? 0 : _ref$debounce,\n id = _ref.id,\n className = _ref.className,\n onResize = _ref.onResize,\n _ref$style = _ref.style,\n style = _ref$style === void 0 ? {} : _ref$style;\n var containerRef = useRef(null);\n var onResizeRef = useRef();\n onResizeRef.current = onResize;\n useImperativeHandle(ref, function () {\n return Object.defineProperty(containerRef.current, 'current', {\n get: function get() {\n // eslint-disable-next-line no-console\n console.warn('The usage of ref.current.current is deprecated and will no longer be supported.');\n return containerRef.current;\n },\n configurable: true\n });\n });\n var _useState = useState({\n containerWidth: initialDimension.width,\n containerHeight: initialDimension.height\n }),\n _useState2 = _slicedToArray(_useState, 2),\n sizes = _useState2[0],\n setSizes = _useState2[1];\n var setContainerSize = useCallback(function (newWidth, newHeight) {\n setSizes(function (prevState) {\n var roundedWidth = Math.round(newWidth);\n var roundedHeight = Math.round(newHeight);\n if (prevState.containerWidth === roundedWidth && prevState.containerHeight === roundedHeight) {\n return prevState;\n }\n return {\n containerWidth: roundedWidth,\n containerHeight: roundedHeight\n };\n });\n }, []);\n useEffect(function () {\n var callback = function callback(entries) {\n var _onResizeRef$current;\n var _entries$0$contentRec = entries[0].contentRect,\n containerWidth = _entries$0$contentRec.width,\n containerHeight = _entries$0$contentRec.height;\n setContainerSize(containerWidth, containerHeight);\n (_onResizeRef$current = onResizeRef.current) === null || _onResizeRef$current === void 0 || _onResizeRef$current.call(onResizeRef, containerWidth, containerHeight);\n };\n if (debounce > 0) {\n callback = throttle(callback, debounce, {\n trailing: true,\n leading: false\n });\n }\n var observer = new ResizeObserver(callback);\n var _containerRef$current = containerRef.current.getBoundingClientRect(),\n containerWidth = _containerRef$current.width,\n containerHeight = _containerRef$current.height;\n setContainerSize(containerWidth, containerHeight);\n observer.observe(containerRef.current);\n return function () {\n observer.disconnect();\n };\n }, [setContainerSize, debounce]);\n var chartContent = useMemo(function () {\n var containerWidth = sizes.containerWidth,\n containerHeight = sizes.containerHeight;\n if (containerWidth < 0 || containerHeight < 0) {\n return null;\n }\n warn(isPercent(width) || isPercent(height), \"The width(%s) and height(%s) are both fixed numbers,\\n maybe you don't need to use a ResponsiveContainer.\", width, height);\n warn(!aspect || aspect > 0, 'The aspect(%s) must be greater than zero.', aspect);\n var calculatedWidth = isPercent(width) ? containerWidth : width;\n var calculatedHeight = isPercent(height) ? containerHeight : height;\n if (aspect && aspect > 0) {\n // Preserve the desired aspect ratio\n if (calculatedWidth) {\n // Will default to using width for aspect ratio\n calculatedHeight = calculatedWidth / aspect;\n } else if (calculatedHeight) {\n // But we should also take height into consideration\n calculatedWidth = calculatedHeight * aspect;\n }\n\n // if maxHeight is set, overwrite if calculatedHeight is greater than maxHeight\n if (maxHeight && calculatedHeight > maxHeight) {\n calculatedHeight = maxHeight;\n }\n }\n warn(calculatedWidth > 0 || calculatedHeight > 0, \"The width(%s) and height(%s) of chart should be greater than 0,\\n please check the style of container, or the props width(%s) and height(%s),\\n or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the\\n height and width.\", calculatedWidth, calculatedHeight, width, height, minWidth, minHeight, aspect);\n var isCharts = !Array.isArray(children) && isElement(children) && getDisplayName(children.type).endsWith('Chart');\n return React.Children.map(children, function (child) {\n if (isElement(child)) {\n return /*#__PURE__*/cloneElement(child, _objectSpread({\n width: calculatedWidth,\n height: calculatedHeight\n }, isCharts ? {\n style: _objectSpread({\n height: '100%',\n width: '100%',\n maxHeight: calculatedHeight,\n maxWidth: calculatedWidth\n }, child.props.style)\n } : {}));\n }\n return child;\n });\n }, [aspect, children, height, maxHeight, minHeight, minWidth, sizes, width]);\n return /*#__PURE__*/React.createElement(\"div\", {\n id: id ? \"\".concat(id) : undefined,\n className: clsx('recharts-responsive-container', className),\n style: _objectSpread(_objectSpread({}, style), {}, {\n width: width,\n height: height,\n minWidth: minWidth,\n minHeight: minHeight,\n maxHeight: maxHeight\n }),\n ref: containerRef\n }, chartContent);\n});"],"names":["_Area","_excluded","_typeof","o","Symbol","iterator","constructor","prototype","_objectWithoutProperties","source","excluded","key","i","target","sourceKeys","Object","keys","length","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","call","_extends","assign","bind","arguments","hasOwnProperty","apply","this","ownKeys","e","r","t","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_defineProperties","props","descriptor","configurable","writable","_toPropertyKey","_callSuper","_getPrototypeOf","self","TypeError","_assertThisInitialized","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","Boolean","valueOf","setPrototypeOf","getPrototypeOf","__proto__","ReferenceError","_setPrototypeOf","p","obj","value","toPrimitive","String","Number","_toPrimitive","Area","_PureComponent","_this","instance","Constructor","_classCallCheck","_len","args","Array","_key","concat","isAnimationFinished","uniqueId","onAnimationEnd","setState","isFunction","onAnimationStart","protoProps","staticProps","subClass","superClass","create","_inherits","nextProps","prevState","animationId","prevAnimationId","curPoints","points","curBaseLine","baseLine","prevPoints","prevBaseLine","needClip","clipDot","clipPathId","isAnimationActive","state","_this$props","dot","dataKey","areaProps","filterProps","customDotProps","dots","map","entry","dotProps","cx","x","cy","y","index","payload","renderDotItem","dotsProps","clipPath","React","Layer","className","alpha","_this$props2","strokeWidth","startX","endX","width","Math","abs","maxY","max","isNumber","isArray","height","floor","parseInt","_this$props3","startY","endY","maxX","layout","renderVerticalRect","renderHorizontalRect","_this$props4","type","stroke","connectNulls","isRange","others","ref","Curve","fill","_this2","_this$props5","animationBegin","animationDuration","animationEasing","_this$state","Animate","begin","duration","isActive","easing","from","to","handleAnimationEnd","handleAnimationStart","_ref","stepBaseLine","prevPointsDiffFactor","stepPoints","prevPointIndex","prev","interpolatorX","interpolateNumber","interpolatorY","interpolator","isNil","isNan","_interpolator","renderAreaStatically","id","renderClipRect","_this$props6","_this$state2","totalLength","isEqual","renderAreaWithAnimation","_filterProps","_this$props7","hide","top","left","xAxis","yAxis","hasSinglePoint","layerClass","clsx","needClipX","allowDataOverflow","needClipY","_ref2","_ref2$r","_ref2$strokeWidth","_ref3$clipDot","isDotProps","dotSize","renderArea","renderDots","LabelList","renderCallByParent","PureComponent","fillOpacity","xAxisId","yAxisId","legendType","activeDot","Global","isSsr","item","chartBaseValue","baseValue","itemBaseValue","numericAxis","domain","scale","domainMax","domainMin","min","_ref4","xAxisTicks","yAxisTicks","bandSize","stackedData","dataStartIndex","displayedData","offset","hasStack","getBaseValue","isHorizontalLayout","getValueByDataKey","isBreakPoint","getCateCoordinateOfLine","axis","ticks","option","dotItem","Dot","AreaChart","generateCategoricalChart","chartName","GraphicalChild","axisComponents","axisType","AxisComp","XAxis","YAxis","formatAxisMap","_slicedToArray","arr","_arrayWithHoles","l","n","u","a","f","next","done","_iterableToArrayLimit","minLen","_arrayLikeToArray","toString","slice","name","test","_unsupportedIterableToArray","_nonIterableRest","len","arr2","ResponsiveContainer","forwardRef","aspect","_ref$initialDimension","initialDimension","_ref$width","_ref$height","_ref$minWidth","minWidth","minHeight","maxHeight","children","_ref$debounce","debounce","onResize","_ref$style","style","containerRef","useRef","onResizeRef","current","useImperativeHandle","get","console","warn","_useState2","useState","containerWidth","containerHeight","sizes","setSizes","setContainerSize","useCallback","newWidth","newHeight","roundedWidth","round","roundedHeight","useEffect","callback","entries","_onResizeRef$current","_entries$0$contentRec","contentRect","throttle","trailing","leading","observer","ResizeObserver","_containerRef$current","getBoundingClientRect","observe","disconnect","chartContent","useMemo","isPercent","calculatedWidth","calculatedHeight","isCharts","isElement","getDisplayName","endsWith","child","cloneElement","maxWidth","undefined"],"sourceRoot":""}
\ No newline at end of file
diff --git a/web-app/build/static/js/7880.6f98d22b.chunk.js b/web-app/build/static/js/7880.6f98d22b.chunk.js
deleted file mode 100644
index 610fa8cd13..0000000000
--- a/web-app/build/static/js/7880.6f98d22b.chunk.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";(self.webpackChunkweb_app=self.webpackChunkweb_app||[]).push([[7880],{7880:(e,t,a)=>{a.r(t),a.d(t,{default:()=>y});var n=a(65043),l=a(73216),i=a(89923),s=a(99161),r=a(64159),c=a(20554),o=a(48793),d=a(92452),u=a(56629),h=a(53518),p=a(96512),g=a(56483),x=a(33097),m=a.n(x),b=a(23758),j=a(70579);const y=()=>{const e=(0,c.jL)(),t=(0,l.Zp)();let a=new URLSearchParams(document.location.search);const x=a.get("bucketName")||"",y=a.get("nextPriority")||"1",[v,f]=(0,n.useState)(!1),[S,C]=(0,n.useState)(y),[k,w]=(0,n.useState)(""),[R,E]=(0,n.useState)(""),[A,B]=(0,n.useState)(""),[T,_]=(0,n.useState)(""),[I,D]=(0,n.useState)(""),[M,O]=(0,n.useState)(""),[L,N]=(0,n.useState)(""),[z,K]=(0,n.useState)(!0),[U,F]=(0,n.useState)(!0),[P,G]=(0,n.useState)(!0),[J,V]=(0,n.useState)(!0),[q,W]=(0,n.useState)(!1),[Y,H]=(0,n.useState)(""),[Z,$]=(0,n.useState)("async"),[Q,X]=(0,n.useState)("100"),[ee,te]=(0,n.useState)("Gi"),[ae,ne]=(0,n.useState)("60"),[le,ie]=(0,n.useState)(!1),se=s.zZ.BUCKETS+"/".concat(x,"/admin/replication");(0,n.useEffect)((()=>{e((0,r.ph)("bucket-replication-add"))}),[]);return(0,n.useEffect)((()=>{!le&&k.length>=3&&R.length>=8&&M.length>=3&&A.length>0&&ie(!0)}),[A,k,R,M,le]),(0,n.useEffect)((()=>{le&&(k.length<3||R.length<8||M.length<3||A.length<1)&&ie(!1)}),[A,k,R,M,le]),(0,j.jsxs)(n.Fragment,{children:[(0,j.jsx)(o.A,{label:(0,j.jsx)(i.EGL,{label:"Add Bucket Replication Rule - "+x,onClick:()=>t(se)}),actions:(0,j.jsx)(d.A,{})}),(0,j.jsx)(i.Mxu,{children:(0,j.jsx)(i.Hbc,{title:"Add Replication Rule",icon:(0,j.jsx)(i.WBh,{}),helpBox:(0,j.jsx)(i.lVp,{iconComponent:(0,j.jsx)(i.WBh,{}),title:"Bucket Replication Configuration",help:(0,j.jsxs)(n.Fragment,{children:[(0,j.jsx)(i.azJ,{sx:{paddconngTop:"10px"},children:"The bucket selected in this deployment acts as the \u201csource\u201d while the configured remote deployment acts as the \u201ctarget\u201d."}),(0,j.jsx)(i.azJ,{sx:{paddingTop:"10px"},children:'For each write operation to this "source" bucket, MinIO checks all configured replication rules and applies the matching rule with highest configured priority.'}),(0,j.jsx)(i.azJ,{sx:{paddingTop:"10px"},children:"MinIO supports automatically replicating existing objects in a bucket, however it does not enable existing object replication by default. Objects created before replication was configured or while replication is disabled are not synchronized to the target deployment unless replication of existing objects is enabled."}),(0,j.jsx)(i.azJ,{sx:{paddingTop:"10px"},children:"MinIO supports replicating delete operations, where MinIO synchronizes deleting specific object versions and new delete markers. Delete operation replication uses the same replication process as all other replication operations."})," "]})}),children:(0,j.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:a=>{a.preventDefault(),f(!0),(()=>{const a=[{originBucket:x,destinationBucket:M}],n=parseInt(ae),l="".concat(z?"https://":"http://").concat(A),i={accessKey:k,secretKey:R,targetURL:l,region:L,bucketsRelation:a,syncMode:Z,bandwidth:"async"===Z?parseInt((0,g.q5)(Q,ee,!0)):0,healthCheckPeriod:n,prefix:I,tags:Y,replicateDeleteMarkers:U,replicateDeletes:P,replicateExistingObjects:q,priority:parseInt(S),storageClass:T,replicateMetadata:J};u.F.bucketsReplication.setMultiBucketReplication(i).then((a=>{f(!1);const n=m()(a.data,"replicationState",[]);if(n.length>0){const a=n[0];return f(!1),a.errorString&&""!==a.errorString?void e((0,r.C9)({errorMessage:a.errorString,detailedError:"There was an error"})):void t(se)}e((0,r.C9)({errorMessage:"No changes applied",detailedError:""}))})).catch((t=>{console.log("this is an error!"),f(!1),e((0,r.C9)((0,h.S)(t.error)))}))})()},children:[(0,j.jsx)(i.cl_,{id:"priority",name:"priority",onChange:e=>{e.target.validity.valid&&C(e.target.value)},label:"Priority",value:S,pattern:"[0-9]*"}),(0,j.jsx)(i.cl_,{id:"targetURL",name:"targetURL",onChange:e=>{B(e.target.value)},placeholder:"play.min.io",label:"Target URL",value:A}),(0,j.jsx)(i.dOG,{checked:z,id:"useTLS",name:"useTLS",label:"Use TLS",onChange:e=>{K(e.target.checked)},value:"yes"}),(0,j.jsx)(i.cl_,{id:"accessKey",name:"accessKey",onChange:e=>{w(e.target.value)},label:"Access Key",value:k}),(0,j.jsx)(i.cl_,{id:"secretKey",name:"secretKey",onChange:e=>{E(e.target.value)},label:"Secret Key",value:R}),(0,j.jsx)(i.cl_,{id:"targetBucket",name:"targetBucket",onChange:e=>{O(e.target.value)},label:"Target Bucket",value:M}),(0,j.jsx)(i.cl_,{id:"region",name:"region",onChange:e=>{N(e.target.value)},label:"Region",value:L}),(0,j.jsx)(i.l6P,{id:"replication_mode",name:"replication_mode",onChange:e=>{$(e)},label:"Replication Mode",value:Z,options:[{label:"Asynchronous",value:"async"},{label:"Synchronous",value:"sync"}]}),"async"===Z&&(0,j.jsx)(i.azJ,{className:"inputItem",children:(0,j.jsx)(i.cl_,{type:"number",id:"bandwidth_scalar",name:"bandwidth_scalar",onChange:e=>{e.target.validity.valid&&X(e.target.value)},label:"Bandwidth",value:Q,min:"0",pattern:"[0-9]*",overlayObject:(0,j.jsx)(b.A,{id:"quota_unit",onUnitChange:e=>{te(e)},unitSelected:ee,unitsList:(0,g.l9)(["Ki"]),disabled:!1})})}),(0,j.jsx)(i.cl_,{id:"healthCheck",name:"healthCheck",onChange:e=>{ne(e.target.value)},label:"Health Check Duration",value:ae}),(0,j.jsx)(i.cl_,{id:"storageClass",name:"storageClass",onChange:e=>{_(e.target.value)},placeholder:"STANDARD_IA,REDUCED_REDUNDANCY etc",label:"Storage Class",value:T}),(0,j.jsxs)("fieldset",{className:"inputItem",children:[(0,j.jsx)("legend",{children:"Object Filters"}),(0,j.jsx)(i.cl_,{id:"prefix",name:"prefix",onChange:e=>{D(e.target.value)},placeholder:"prefix",label:"Prefix",value:I}),(0,j.jsx)(p.A,{name:"tags",label:"Tags",elements:"",onChange:e=>{H(e)},keyPlaceholder:"Tag Key",valuePlaceholder:"Tag Value",withBorder:!0})]}),(0,j.jsxs)("fieldset",{className:"inputItem",children:[(0,j.jsx)("legend",{children:"Replication Options"}),(0,j.jsx)(i.dOG,{checked:q,id:"repExisting",name:"repExisting",label:"Existing Objects",onChange:e=>{W(e.target.checked)},description:"Replicate existing objects"}),(0,j.jsx)(i.dOG,{checked:J,id:"metadatataSync",name:"metadatataSync",label:"Metadata Sync",onChange:e=>{V(e.target.checked)},description:"Metadata Sync"}),(0,j.jsx)(i.dOG,{checked:U,id:"deleteMarker",name:"deleteMarker",label:"Delete Marker",onChange:e=>{F(e.target.checked)},description:"Replicate soft deletes"}),(0,j.jsx)(i.dOG,{checked:P,id:"repDelete",name:"repDelete",label:"Deletes",onChange:e=>{G(e.target.checked)},description:"Replicate versioned deletes"})]}),(0,j.jsxs)(i.xA9,{item:!0,xs:12,sx:{display:"flex",flexDirection:"row",justifyContent:"end",gap:10,paddingTop:10},children:[(0,j.jsx)(i.$nd,{id:"cancel",type:"button",variant:"regular",disabled:v,onClick:()=>{t(se)},label:"Cancel"}),(0,j.jsx)(i.$nd,{id:"submit",type:"submit",variant:"callAction",color:"primary",disabled:v||!le,label:"Save"})]})]})})})]})}},23758:(e,t,a)=>{a.d(t,{A:()=>d});var n=a(65043),l=a(89923),i=a(94574),s=a(33097),r=a.n(s),c=a(70579);const o=i.Ay.button((e=>{let{theme:t}=e;return{border:"1px solid ".concat(r()(t,"borderColor","#E2E2E2")),borderRadius:3,color:r()(t,"secondaryText","#5B5C5C"),backgroundColor:r()(t,"boxBackground","#FBFAFA"),fontSize:12}})),d=e=>{let{id:t,unitSelected:a,unitsList:i,disabled:s=!1,onUnitChange:r}=e;const[d,u]=n.useState(null),h=Boolean(d),p=e=>{u(null),""!==e&&r&&r(e)};return(0,c.jsxs)(n.Fragment,{children:[(0,c.jsx)(o,{id:"".concat(t,"-button"),"aria-controls":"".concat(t,"-menu"),"aria-haspopup":"true","aria-expanded":h?"true":void 0,onClick:e=>{u(e.currentTarget)},disabled:s,type:"button",children:a}),(0,c.jsx)(l.Vey,{id:"upload-main-menu",options:i,selectedOption:"",onSelect:e=>p(e),hideTriggerAction:()=>{p("")},open:h,anchorEl:d,anchorOrigin:"end"})]})}},96512:(e,t,a)=>{a.d(t,{A:()=>d});var n=a(65043),l=a(33097),i=a.n(l),s=a(93950),r=a.n(s),c=a(89923),o=a(70579);const d=e=>{let{elements:t,name:a,label:l,tooltip:s="",keyPlaceholder:d="",valuePlaceholder:u="",onChange:h,withBorder:p=!1}=e;const[g,x]=(0,n.useState)([""]),[m,b]=(0,n.useState)([""]),j=(0,n.createRef)();(0,n.useEffect)((()=>{if(1===g.length&&""===g[0]&&1===m.length&&""===m[0]&&t&&""!==t){const e=t.split("&");let a=[],n=[];e.forEach((e=>{const t=e.split("=");2===t.length&&(a.push(t[0]),n.push(t[1]))})),a.push(""),n.push(""),x(a),b(n)}}),[g,m,t]),(0,n.useEffect)((()=>{const e=j.current;e&&g.length>1&&e.scrollIntoView(!1)}),[g]);const y=(0,n.useRef)(!0);(0,n.useLayoutEffect)((()=>{y.current?y.current=!1:S()}),[g,m]);const v=e=>{e.persist();let t=[...g];const a=i()(e.target,"dataset.index","0");t[parseInt(a)]=e.target.value,x(t)},f=e=>{e.persist();let t=[...m];const a=i()(e.target,"dataset.index","0");t[parseInt(a)]=e.target.value,b(t)},S=r()((()=>{let e="";g.forEach(((t,a)=>{if(g[a]&&m[a]){let n="".concat(t,"=").concat(m[a]);0!==a&&(n="&".concat(n)),e="".concat(e).concat(n)}})),h(e)}),500),C=m.map(((e,t)=>(0,o.jsxs)(c.xA9,{item:!0,xs:12,className:"lineInputBoxes inputItem",children:[(0,o.jsx)(c.cl_,{id:"".concat(a,"-key-").concat(t.toString()),label:"",name:"".concat(a,"-").concat(t.toString()),value:g[t],onChange:v,index:t,placeholder:d}),(0,o.jsx)("span",{className:"queryDiv",children:":"}),(0,o.jsx)(c.cl_,{id:"".concat(a,"-value-").concat(t.toString()),label:"",name:"".concat(a,"-").concat(t.toString()),value:m[t],onChange:f,index:t,placeholder:u,overlayIcon:t===m.length-1?(0,o.jsx)(c.REV,{}):null,overlayAction:()=>{(()=>{if(""!==g[g.length-1].trim()&&""!==m[m.length-1].trim()){const e=[...g],t=[...m];e.push(""),t.push(""),x(e),b(t)}})()}})]},"query-pair-".concat(a,"-").concat(t.toString()))));return(0,o.jsx)(n.Fragment,{children:(0,o.jsxs)(c.xA9,{item:!0,xs:12,sx:{"& .lineInputBoxes":{display:"flex"},"& .queryDiv":{alignSelf:"center",margin:"-15px 4px 0",fontWeight:600}},className:"inputItem",children:[(0,o.jsxs)(c.l1Y,{children:[l,""!==s&&(0,o.jsx)(c.azJ,{sx:{marginLeft:5,display:"flex",alignItems:"center","& .min-icon":{width:13}},children:(0,o.jsx)(c.m_M,{tooltip:s,placement:"top",children:(0,o.jsx)(c.NTw,{style:{width:13,height:13}})})})]}),(0,o.jsxs)(c.azJ,{withBorders:p,sx:{padding:15,height:150,overflowY:"auto",position:"relative",marginTop:15},children:[C,(0,o.jsx)("div",{ref:j})]})]})})}}}]);
-//# sourceMappingURL=7880.6f98d22b.chunk.js.map
\ No newline at end of file
diff --git a/web-app/build/static/js/7880.6f98d22b.chunk.js.map b/web-app/build/static/js/7880.6f98d22b.chunk.js.map
deleted file mode 100644
index b0e88a8a29..0000000000
--- a/web-app/build/static/js/7880.6f98d22b.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/7880.6f98d22b.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/AddBucketReplication.tsx","screens/Console/Common/FormComponents/InputUnitMenu/InputUnitMenu.tsx","screens/Console/Common/FormComponents/QueryMultiSelector/QueryMultiSelector.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2023 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport {\n BackLink,\n Box,\n BucketReplicationIcon,\n Button,\n FormLayout,\n Grid,\n HelpBox,\n InputBox,\n PageLayout,\n Select,\n Switch,\n} from \"mds\";\nimport { IAM_PAGES } from \"../../../../common/SecureComponent/permissions\";\nimport { setErrorSnackMessage, setHelpName } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\nimport PageHeaderWrapper from \"../../Common/PageHeaderWrapper/PageHeaderWrapper\";\nimport HelpMenu from \"../../HelpMenu\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport QueryMultiSelector from \"screens/Console/Common/FormComponents/QueryMultiSelector/QueryMultiSelector\";\nimport { getBytes, k8sScalarUnitsExcluding } from \"common/utils\";\nimport get from \"lodash/get\";\nimport InputUnitMenu from \"screens/Console/Common/FormComponents/InputUnitMenu/InputUnitMenu\";\n\nconst AddBucketReplication = () => {\n const dispatch = useAppDispatch();\n const navigate = useNavigate();\n let params = new URLSearchParams(document.location.search);\n const bucketName = params.get(\"bucketName\") || \"\";\n const nextPriority = params.get(\"nextPriority\") || \"1\";\n const [addLoading, setAddLoading] = useState(false);\n const [priority, setPriority] = useState(nextPriority);\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n const [targetURL, setTargetURL] = useState(\"\");\n const [targetStorageClass, setTargetStorageClass] = useState(\"\");\n const [prefix, setPrefix] = useState(\"\");\n const [targetBucket, setTargetBucket] = useState(\"\");\n const [region, setRegion] = useState(\"\");\n const [useTLS, setUseTLS] = useState(true);\n const [repDeleteMarker, setRepDeleteMarker] = useState(true);\n const [repDelete, setRepDelete] = useState(true);\n const [metadataSync, setMetadataSync] = useState(true);\n const [repExisting, setRepExisting] = useState(false);\n const [tags, setTags] = useState(\"\");\n const [replicationMode, setReplicationMode] = useState<\"async\" | \"sync\">(\n \"async\",\n );\n const [bandwidthScalar, setBandwidthScalar] = useState(\"100\");\n const [bandwidthUnit, setBandwidthUnit] = useState(\"Gi\");\n const [healthCheck, setHealthCheck] = useState(\"60\");\n const [validated, setValidated] = useState(false);\n const backLink = IAM_PAGES.BUCKETS + `/${bucketName}/admin/replication`;\n useEffect(() => {\n dispatch(setHelpName(\"bucket-replication-add\"));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const addRecord = () => {\n const replicate = [\n {\n originBucket: bucketName,\n destinationBucket: targetBucket,\n },\n ];\n\n const hc = parseInt(healthCheck);\n\n const endURL = `${useTLS ? \"https://\" : \"http://\"}${targetURL}`;\n\n const remoteBucketsInfo = {\n accessKey: accessKey,\n secretKey: secretKey,\n targetURL: endURL,\n region: region,\n bucketsRelation: replicate,\n syncMode: replicationMode,\n bandwidth:\n replicationMode === \"async\"\n ? parseInt(getBytes(bandwidthScalar, bandwidthUnit, true))\n : 0,\n healthCheckPeriod: hc,\n prefix: prefix,\n tags: tags,\n replicateDeleteMarkers: repDeleteMarker,\n replicateDeletes: repDelete,\n replicateExistingObjects: repExisting,\n priority: parseInt(priority),\n storageClass: targetStorageClass,\n replicateMetadata: metadataSync,\n };\n\n api.bucketsReplication\n .setMultiBucketReplication(remoteBucketsInfo)\n .then((res) => {\n setAddLoading(false);\n\n const states = get(res.data, \"replicationState\", []);\n\n if (states.length > 0) {\n const itemVal = states[0];\n\n setAddLoading(false);\n\n if (itemVal.errorString && itemVal.errorString !== \"\") {\n dispatch(\n setErrorSnackMessage({\n errorMessage: itemVal.errorString,\n detailedError: \"There was an error\",\n }),\n );\n // navigate(backLink);\n return;\n }\n navigate(backLink);\n return;\n }\n dispatch(\n setErrorSnackMessage({\n errorMessage: \"No changes applied\",\n detailedError: \"\",\n }),\n );\n })\n .catch((err) => {\n console.log(\"this is an error!\");\n setAddLoading(false);\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n });\n };\n\n useEffect(() => {\n !validated &&\n accessKey.length >= 3 &&\n secretKey.length >= 8 &&\n targetBucket.length >= 3 &&\n targetURL.length > 0 &&\n setValidated(true);\n }, [targetURL, accessKey, secretKey, targetBucket, validated]);\n\n useEffect(() => {\n if (\n validated &&\n (accessKey.length < 3 ||\n secretKey.length < 8 ||\n targetBucket.length < 3 ||\n targetURL.length < 1)\n ) {\n setValidated(false);\n }\n }, [targetURL, accessKey, secretKey, targetBucket, validated]);\n\n return (\n