\ No newline at end of file
diff --git a/web-app/build/static/js/182.a230b8d1.chunk.js b/web-app/build/static/js/182.6e133743.chunk.js
similarity index 66%
rename from web-app/build/static/js/182.a230b8d1.chunk.js
rename to web-app/build/static/js/182.6e133743.chunk.js
index 545bcf308..9691dd1c6 100644
--- a/web-app/build/static/js/182.a230b8d1.chunk.js
+++ b/web-app/build/static/js/182.6e133743.chunk.js
@@ -1,2 +1,2 @@
-"use strict";(self.webpackChunkweb_app=self.webpackChunkweb_app||[]).push([[182,614],{30614:(e,t,n)=>{n.r(t),n.d(t,{default:()=>h});var s=n(65043),o=n(94141),i=n(89923),a=n(56629),l=n(53518),r=n(77403),d=n(64159),c=n(21383),u=n(70579);const h=e=>{let{modalOpen:t,onClose:n,bucket:h,prefilledRoute:m}=e;const x=(0,c.jL)(),[p,j]=(0,s.useState)(""),[b,g]=(0,s.useState)("readonly");(0,s.useEffect)((()=>{m&&j(m)}),[m]);return(0,u.jsx)(o.A,{modalOpen:t,title:"Add Anonymous Access Rule",onClose:n,titleIcon:(0,u.jsx)(i.No_,{}),children:(0,u.jsxs)(i.Hbc,{withBorders:!1,containerPadding:!1,children:[(0,u.jsx)(i.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)(i.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)(i.xA9,{item:!0,xs:12,sx:r.Uz.modalButtonBar,children:[(0,u.jsx)(i.$nd,{id:"clear",type:"button",variant:"regular",onClick:()=>{j(""),g("readonly")},label:"Clear"}),(0,u.jsx)(i.$nd,{id:"add-access-save",type:"submit",variant:"callAction",disabled:""===p.trim(),onClick:()=>{a.F.bucket.setAccessRuleWithBucket(h,{prefix:p,access:b}).then((e=>{x((0,d.Hk)("Access Rule added successfully")),n()})).catch((e=>{x((0,d.C9)((0,l.S)(e.error))),n()}))},label:"Save"})]})]})})}},182:(e,t,n)=>{n.r(t),n.d(t,{default:()=>Ge});var s=n(65043),o=n(22166),i=n(73216),a=n(56629),l=n(21383),r=n(99161),d=n(6035),c=n(33097),u=n.n(c),h=n(89923),m=n(53518),x=n(68424),p=n(24241),j=n(56483),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})))),i=e.substring(0,e.indexOf("/*."));return o&&(i===`arn:aws:s3:::${t}`&&"arn:aws:s3:::*"!==e)}))};var C=n(70579);const y=(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: ${h.nmC.lg}px)`]:{display:"none"}},"& .slashSpacingStyle":{margin:"0 5px"}}))),I=e=>{let{bucketName:t,internalPaths:n,hidePathButton:a,additionalOptions:c}=e;const u=(0,l.jL)(),m=(0,i.Zp)(),x=(0,o.d4)((e=>e.objectBrowser.rewind.rewindEnabled)),p=(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),[I,A]=(0,s.useState)(!1),N=[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=`/${n}`);const F=B.split("/").filter((e=>""!==e)),L=F.length-1,V=t+B||t,D=T(k,V,N);(0,s.useEffect)((()=>{A(!1),Object.keys(k).forEach((e=>{e.includes(V)&&e.includes("/*")&&A(!0)}))}),[V,n,k]);const R=(0,_._)([V,...D],N)||f||I;let P=F.map(((e,n)=>{const o=`${F.slice(0,n+1).join("/")}/`,i=`/browser/${encodeURIComponent(t)}/${o?`${encodeURIComponent(o)}`:""}`;return n===L&&e===b?null:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)("span",{className:"slashSpacingStyle",children:"/"}),n===L?(0,C.jsx)("span",{style:{cursor:"default",whiteSpace:"pre"},children:(0,j.Tw)(e)}):(0,C.jsx)(v.N_,{style:{whiteSpace:"pre"},to:i,onClick:()=>{u((0,d.cQ)({status:!1,objectName:""}))},children:(0,j.Tw)(e)})]},`breadcrumbs-${n.toString()}`)})),$=[];p&&($=[(0,C.jsx)(s.Fragment,{children:(0,C.jsxs)("span",{children:[(0,C.jsx)("span",{className:"slashSpacingStyle",children:"/"}),b," - Versions"]})},"breadcrumbs-versionedItem")]);const U=[(0,C.jsx)(s.Fragment,{children:(0,C.jsx)(v.N_,{to:`/browser/${t}`,onClick:()=>{u((0,d.cQ)({status:!1,objectName:""}))},children:t})},"breadcrumbs-root-path"),...P,...$];return(0,C.jsxs)(s.Fragment,{children:[(0,C.jsxs)(E,{children:[S&&(0,C.jsx)(y,{modalOpen:S,bucketName:t,folderName:n,onClose:()=>{w(!1)},limitedSubPath:I&&!((0,_._)([V,...D],N)||f)}),(0,C.jsx)(h.BIu,{sx:{whiteSpace:"pre"},goBackFunction:()=>{if(p)u((0,d.cQ)({status:!1,objectName:""}));else{if(0===F.length)return void m("/browser");const e=F.slice(0,-1);m(`/browser/${t}${e.length>0?`/${encodeURIComponent(`${e.join("/")}/`)}`:""}`)}},additionalOptions:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(g(),{text:`${t}/${F.join("/")}`,children:(0,C.jsx)(h.$nd,{id:"copy-path",icon:(0,C.jsx)(h.TdU,{style:{width:"12px",height:"12px",fill:"#969FA8",marginTop:-1}}),variant:"regular",onClick:()=>{u((0,O.Hk)("Path copied to clipboard"))},style:{width:"28px",height:"28px",color:"#969FA8",border:"#969FA8 1px solid",marginRight:5}})}),(0,C.jsx)(h.azJ,{className:"additionalOptions",children:c})]}),children:U}),!a&&(0,C.jsx)(h.m_M,{tooltip:R?"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,C.jsx)(h.$nd,{id:"new-path",onClick:()=>{w(!0)},disabled:!f&&(x||!R),icon:(0,C.jsx)(h.pj3,{style:{fill:"#969FA8"}}),style:{whiteSpace:"nowrap"},variant:"regular",label:"Create new path"})})]}),(0,C.jsx)(h.azJ,{sx:{display:"none",marginTop:15,marginBottom:5,justifyContent:"flex-start","& > div":{fontSize:12,fontWeight:"normal",flexDirection:"row",flexWrap:"nowrap"},[`@media (max-width: ${h.nmC.lg}px)`]:{display:"flex"}},children:c})]})};var A=n(93445);const N=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:i=!1,uploadFileFunction:a,uploadFolderFunction:l,overrideStyles:d={}}=e;const[c,u]=(0,s.useState)(null),[m,x]=(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(c),v=()=>{u(null)},S=(0,_._)([t,...g],b)||p,O=(0,_._)([n,...g],b,!1,!0),w=S||O;return(0,C.jsxs)(s.Fragment,{children:[(0,C.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,C.jsx)(h.$nd,{id:"upload-main","aria-controls":"upload-main-menu","aria-haspopup":"true","aria-expanded":f?"true":void 0,onClick:e=>{x(!m),u(e.currentTarget)},label:"Upload",icon:(0,C.jsx)(h.JMY,{}),variant:"callAction",disabled:i||!w,sx:d})}),(0,C.jsx)(h.Vey,{id:"upload-main-menu",options:[{label:"Upload File",icon:(0,C.jsx)(h.JMY,{}),value:"file",disabled:!S||i},{label:"Upload Folder",icon:(0,C.jsx)(h.nDF,{}),value:"folder",disabled:!O||i}],selectedOption:"",onSelect:e=>{"folder"!==e?a(v):l(v)},hideTriggerAction:()=>{x(!1)},open:m,anchorEl:c,anchorOrigin:"end",useAnchorWidth:!0})]})},D=e=>{let{open:t,closePanel:n,className:s="",children:o}=e;return(0,C.jsxs)(h.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:`${t?"open":""} ${s}`,children:[(0,C.jsx)(h.$nd,{variant:"text",id:"close-details-list",onClick:n,icon:(0,C.jsx)(h._FR,{}),sx:{position:"absolute",right:5,top:18,padding:0,height:14,"&:hover:not(:disabled)":{backgroundColor:"transparent"}}}),o]})};var R=n(48245);const P=e=>{let{icon:t,strings:n}=e;return(0,C.jsxs)(h.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,C.jsx)("span",{className:"fileNameText",children:(0,j.qf)(n[n.length-1])})]})},$=[{icon:(0,C.jsx)(h.FRZ,{}),extensions:["mp4","mov","avi","mpeg","mpg"]},{icon:(0,C.jsx)(h.jCy,{}),extensions:["mp3","m4a","aac"]},{icon:(0,C.jsx)(h.yTC,{}),extensions:["pdf"]},{icon:(0,C.jsx)(h.QvW,{}),extensions:["ppt","pptx"]},{icon:(0,C.jsx)(h.z9t,{}),extensions:["xls","xlsx"]},{icon:(0,C.jsx)(h.VSs,{}),extensions:["cer","crt","pem"]},{icon:(0,C.jsx)(h.bM2,{}),extensions:["html","xml","css","py","go","php","cpp","h","java"]},{icon:(0,C.jsx)(h.qM2,{}),extensions:["cfg","yaml"]},{icon:(0,C.jsx)(h.ITz,{}),extensions:["sql"]},{icon:(0,C.jsx)(h.PcO,{}),extensions:["ttf","otf"]},{icon:(0,C.jsx)(h.yEV,{}),extensions:["doc","docx","txt","rtf"]},{icon:(0,C.jsx)(h.j_m,{}),extensions:["zip","rar","tar","gz"]},{icon:(0,C.jsx)(h.DUd,{}),extensions:["epub","mobi","azw","azw3"]},{icon:(0,C.jsx)(h.nLN,{}),extensions:["jpeg","jpg","gif","tiff","png","heic","dng"]}],U=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e,s=(0,C.jsx)(h.KlI,{});e.endsWith("/")&&(s=(0,C.jsx)(h.kez,{}),n=e.slice(0,-1));const o=e.toLowerCase();for(const a of $)for(const e of a.extensions)o.endsWith(`.${e}`)&&(s=a.icon);!e.endsWith("/")&&e.indexOf(".")<0&&(s=(0,C.jsx)(h.YJK,{}));const i=n.split("/");return t?s:(0,C.jsx)(P,{icon:s,strings:i})};var z=n(37524);const G=e=>{let{metaData:t}=e;const n=Object.keys(t);return(0,C.jsx)(s.Fragment,{children:n.map(((e,n)=>{const s=(e=>Array.isArray(e)?e.map(j.Tw).join(", "):(0,j.Tw)(e))(t[e]);return(0,C.jsxs)(h.azJ,{sx:{marginBottom:15,fontSize:14,maxHeight:180,overflowY:"auto"},children:[(0,C.jsx)("strong",{children:e}),(0,C.jsx)("br",{}),s]},`box-meta-${e}-${n.toString()}`)}))})};var M=n(30718),J=n(85330),K=n(77403);const W=[{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"}],H=Array.from(Array(31),((e,t)=>({value:(t+1).toString(),label:(t+1).toString()}))),Y=(new Date).getFullYear(),Z=Array.from(Array(50),((e,t)=>({value:(t+Y).toString(),label:(t+Y).toString()})));var q=n(94141);const Q=(0,s.forwardRef)(((e,t)=>{let{id:n,label:o,disableOptions:i=!1,tooltip:a="",borderBottom:l=!1,onDateChange:r,value:d=""}=e;(0,s.useImperativeHandle)(t,(()=>({resetDate:b})));const[c,u]=(0,s.useState)(""),[m,x]=(0,s.useState)(""),[p,j]=(0,s.useState)("");(0,s.useEffect)((()=>{if(""!==d){const e=d.split("-");j(e[0]),u(e[1]),x(`${parseInt(e[2])}`)}}),[d]),(0,s.useEffect)((()=>{const[e,t]=((e,t,n)=>{const s=Date.parse(`${e}-${t}-${n}`);if(isNaN(s))return[!1,""];const o=parseInt(t),i=parseInt(n),a=`${e}-${o<10?`0${o}`:o}-${i<10?`0${i}`:i}`;return[new Date(s).toISOString().split("T")[0]===a,a]})(p,c,m);r(t,e)}),[c,m,p,r]);const b=()=>{u(""),x(""),j("")},g=()=>i||!1,f=[{value:"",label:""},...W],v=[{value:"",label:""},...H],_=[{value:"",label:""},...Z];return(0,C.jsxs)(h.azJ,{className:"inputItem",children:[(0,C.jsx)(h.azJ,{sx:{display:"flex",alignItems:"center",gap:5,marginBottom:5},children:(0,C.jsxs)(h.l1Y,{htmlFor:n,children:[(0,C.jsx)("span",{children:o}),""!==a&&(0,C.jsx)(h.azJ,{sx:{marginLeft:5,display:"flex",alignItems:"center","& .min-icon":{width:13}},children:(0,C.jsx)(h.m_M,{tooltip:a,placement:"top",children:(0,C.jsx)(h.azJ,{sx:{"& .min-icon":{width:13}},children:(0,C.jsx)(h.NTw,{})})})})]})}),(0,C.jsxs)(h.azJ,{sx:{display:"flex",gap:12},children:[(0,C.jsx)(h.l6P,{id:`${n}-month`,name:`${n}-month`,value:c,onChange:e=>{u(e)},options:f,label:"",disabled:g()}),(0,C.jsx)(h.l6P,{id:`${n}-day`,name:`${n}-day`,value:m,onChange:e=>{x(e)},options:v,label:"",disabled:g()}),(0,C.jsx)(h.l6P,{id:`${n}-year`,name:`${n}-year`,value:p,onChange:e=>{j(e)},options:_,label:"",disabled:g(),sx:{marginBottom:12}})]})]})})),X=e=>{let{open:t,closeModalAndRefresh:n,objectName:i,objectInfo:r,bucketName:d}=e;const c=(0,l.jL)(),u=(0,o.d4)((e=>e.objectBrowser.retentionConfig)),[x,p]=(0,s.useState)(!0),[j,b]=(0,s.useState)(""),[g,f]=(0,s.useState)(""),[v,_]=(0,s.useState)(!1),[S,w]=(0,s.useState)(!1),[T,y]=(0,s.useState)(!1);(0,s.useEffect)((()=>{if(r.retention_mode&&(b((null===u||void 0===u?void 0:u.mode)||J.BT.Governance),y(!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${e}`:`${e}`,o=t.getDate();isNaN(o)||"NaN"===s||isNaN(n)||f(`${n}-${s}-${o}`)}y(!0)}var e}),[r,null===u||void 0===u?void 0:u.mode]);const E=(0,s.useRef)(null),I=()=>{p(!1),b(J.BT.Governance),E.current&&E.current.resetDate()},A=T&&("governance"===j||""===j);return(0,C.jsx)(q.A,{title:"Set Retention Policy",modalOpen:t,onClose:()=>{I(),n(!1)},children:(0,C.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault()})(e)},children:(0,C.jsxs)(h.Hbc,{withBorders:!1,containerPadding:!1,children:[(0,C.jsxs)(h.azJ,{className:"inputItem",children:[(0,C.jsx)("strong",{children:"Selected Object"}),": ",i]}),A&&(0,C.jsx)(h.dOG,{value:"status",id:"status",name:"status",checked:x,onChange:e=>{p(!x)},label:"Status",indicatorLabels:["Enabled","Disabled"]}),(0,C.jsx)(h.z6M,{currentValue:j,id:"type",name:"type",label:"Type",disableOptions:!x||T&&""!==j,onChange:e=>{b(e.target.value)},selectorOptions:[{label:"Governance",value:J.BT.Governance},{label:"Compliance",value:J.BT.Compliance}]}),(0,C.jsx)(Q,{id:"date",label:"Date",disableOptions:!(x&&("governance"===j||"compliance"===j)),ref:E,value:g,borderBottom:!0,onDateChange:(e,t)=>{_(t),t&&f(e)}}),(0,C.jsxs)(h.xA9,{item:!0,xs:12,sx:K.Uz.modalButtonBar,children:[(0,C.jsx)(h.$nd,{id:"reset",type:"button",variant:"regular",onClick:I,label:"Reset"}),(0,C.jsx)(h.$nd,{id:"save",type:"submit",variant:"callAction",disabled:x&&""===j||x&&!v||S,onClick:()=>{w(!0);const e=r.name||"",t=r.version_id||null;x||"governance"!==j?((e,t,s)=>{a.F.buckets.putObjectRetention(d,{prefix:e,version_id:t||""},{expires:s,mode:j}).then((()=>{w(!1),n(!0)})).catch((e=>{c((0,O.Dy)((0,m.S)(e.error))),w(!1)}))})(e,t,x||"governance"!==j?`${g}T23:59:59Z`:""):((e,t)=>{a.F.buckets.deleteObjectRetention(d,{prefix:e,version_id:t||""}).then((()=>{w(!1),n(!0)})).catch((e=>{c((0,O.Dy)((0,m.S)(e.error))),w(!1)}))})(e,t)},label:"Save"})]})]})})})};var ee=n(58661),te=n(25448);const ne=e=>{let{closeDeleteModalAndRefresh:t,deleteOpen:n,selectedBucket:i,selectedObject:a,versioningInfo:d,selectedVersion:c=""}=e;const u=(0,l.jL)(),[m,x]=(0,te.A)((()=>t(!0)),(e=>{u((0,O.C9)(e)),"Access Denied."===e.detailedError&&t(!0)})),[p,j]=(0,s.useState)(!1),[b,g]=(0,s.useState)(!1),f=(0,o.d4)((e=>e.objectBrowser.retentionConfig)),v=(0,_._)([i],[r.OV.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===f||void 0===f?void 0:f.mode);if(!a)return null;return(0,C.jsx)(ee.A,{title:"Delete Object",confirmText:"Delete",isOpen:n,titleIcon:(0,C.jsx)(h.xWY,{}),isLoading:m,onConfirm:()=>{const e=a.endsWith("/");x("DELETE",`/api/v1/buckets/${encodeURIComponent(i)}/objects?prefix=${encodeURIComponent(a)}${""!==c?`&version_id=${encodeURIComponent(c)}`:`&recursive=${e}&all_versions=${p}`}${b?"&bypass=true":""}`)},onClose:()=>t(!1),confirmationContent:(0,C.jsxs)(s.Fragment,{children:["Are you sure you want to delete: ",(0,C.jsx)("br",{}),(0,C.jsx)("b",{children:a})," ",""!==c?(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)("br",{}),(0,C.jsx)("br",{}),"Version ID:",(0,C.jsx)("br",{}),(0,C.jsx)("strong",{children:c})]}):"","? ",(0,C.jsx)("br",{}),(0,C.jsx)("br",{}),N(null===d||void 0===d?void 0:d.status)&&""===c&&(0,C.jsx)(s.Fragment,{children:(0,C.jsx)(h.dOG,{label:"Delete All Versions",indicatorLabels:["Yes","No"],checked:p,value:"delete_versions",id:"delete-versions",name:"delete-versions",onChange:e=>{j(!p)},description:""})}),v&&(p||""!==c)&&(0,C.jsx)(s.Fragment,{children:(0,C.jsx)("div",{style:{marginTop:10},children:(0,C.jsx)(h.dOG,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:b,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:e=>{g(!b)},description:""})})}),p&&(0,C.jsxs)(s.Fragment,{children:[(0,C.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,C.jsx)("br",{}),"This action is irreversible."]}),(0,C.jsx)("br",{}),"Are you sure you want to continue?"]})]})})},se=e=>{let{open:t,closeModalAndRefresh:n,objectName:o,bucketName:i,actualInfo:r}=e;const d=(0,l.jL)(),[c,x]=(0,s.useState)(!1),[p,j]=(0,s.useState)(!1),b=r.version_id;(0,s.useEffect)((()=>{const e=u()(r,"legal_hold_status","OFF");x("ON"===e)}),[r]);const g=()=>{x(!1)};return(0,C.jsx)(q.A,{title:"Set Legal Hold",modalOpen:t,onClose:()=>{g(),n(!1)},children:(0,C.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault(),j(!0),a.F.buckets.putObjectLegalHold(i,{prefix:o,version_id:b||""},{status:c?J.SW.Enabled:J.SW.Disabled}).then((()=>{j(!1),n(!0)})).catch((e=>{d((0,O.Dy)((0,m.S)(e.error))),j(!1)}))})(e)},children:(0,C.jsxs)(h.Hbc,{withBorders:!1,containerPadding:!1,children:[(0,C.jsxs)(h.azJ,{className:"inputItem",children:[(0,C.jsx)("strong",{children:"Object"}),": ",i+"/"+o]}),(0,C.jsx)(h.dOG,{value:"legalhold",id:"legalhold",name:"legalhold",checked:c,onChange:e=>{x(!c)},label:"Legal Hold Status",indicatorLabels:["Enabled","Disabled"],tooltip:"To enable this feature you need to enable versioning on the bucket before creation"}),(0,C.jsxs)(h.xA9,{item:!0,xs:12,sx:K.Uz.modalButtonBar,children:[(0,C.jsx)(h.$nd,{id:"clear",type:"button",variant:"regular",onClick:g,label:"Clear"}),(0,C.jsx)(h.$nd,{id:"save",type:"submit",variant:"callAction",disabled:p,label:" Save"})]})]})})})},oe=f.Ay.b((e=>{let{theme:t}=e;return{color:u()(t,"signalColors.danger","#C83B51"),marginLeft:5}})),ie=e=>{var t;let{modalOpen:n,onCloseAndUpdate:i,bucketName:d,actualInfo:c}=e;const x=(0,l.jL)(),p=(0,o.d4)(O.Rq),[j,b]=(0,s.useState)(""),[g,f]=(0,s.useState)(""),[v,S]=(0,s.useState)(!1),[w,T]=(0,s.useState)(!1),[y,E]=(0,s.useState)(""),[I,A]=(0,s.useState)(""),N=c.tags,k=Object.keys(N||{}),B=null===(t=c.name)||void 0===t?void 0:t.split("/"),F=(null===B||void 0===B?void 0:B.pop())||"",L=e=>(0,C.jsxs)(h.azJ,{sx:{fontSize:16,margin:"20px 0 30px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",width:"100%"},children:["Tag",e?"s":""," for: ",(0,C.jsx)("strong",{children:F})]});return(0,C.jsx)(s.Fragment,{children:(0,C.jsx)(q.A,{modalOpen:n,title:w?"Delete Tag":"Edit Tags",onClose:()=>{i(!0)},iconColor:w?"delete":"default",titleIcon:w?(0,C.jsx)(h.aaC,{}):(0,C.jsx)(h.cGQ,{}),children:w?(0,C.jsx)(s.Fragment,{children:(0,C.jsxs)(h.xA9,{container:!0,children:[L(!1),"Are you sure you want to delete the tag"," ",(0,C.jsxs)(oe,{children:[y," : ",I]})," ","?",(0,C.jsxs)(h.xA9,{item:!0,xs:12,sx:K.Uz.modalButtonBar,children:[(0,C.jsx)(h.$nd,{id:"cancel",type:"button",variant:"regular",onClick:()=>{E(""),A(""),T(!1)},label:"Cancel"}),(0,C.jsx)(h.$nd,{type:"submit",variant:"secondary",onClick:()=>{const e={...N};delete e[y];const t=p?c.version_id||"":"null";a.F.buckets.putObjectTags(d,{prefix:c.name||"",version_id:t},{tags:e}).then((()=>{i(!0),S(!1)})).catch((e=>{x((0,O.Dy)((0,m.S)(e.error))),S(!1)}))},id:"deleteTag",label:"Delete Tag"})]})]})}):(0,C.jsxs)(h.azJ,{children:[(0,C.jsx)(_.R,{scopes:[r.OV.S3_GET_OBJECT_TAGGING,r.OV.S3_GET_ACTIONS],resource:d,children:(0,C.jsxs)(h.azJ,{sx:{display:"flex",flexFlow:"column",width:"100%"},children:[L(!0),(0,C.jsxs)(h.azJ,{sx:{fontSize:14,fontWeight:"normal"},children:["Current Tags:",(0,C.jsx)("br",{}),0===k.length?(0,C.jsx)("span",{className:"muted",children:"There are no tags for this object"}):(0,C.jsx)(s.Fragment,{}),(0,C.jsx)(h.azJ,{sx:{marginTop:"5px",marginBottom:"15px"},children:k.map(((e,t)=>{const n=u()(N,`${e}`,"");return""!==n?(0,C.jsx)(_.R,{scopes:[r.OV.S3_DELETE_OBJECT_TAGGING],resource:d,errorProps:{deleteIcon:null,onDelete:null},children:(0,C.jsx)(h.vwO,{id:`${e} : ${n}`,label:`${e} : ${n}`,variant:"regular",color:"default",onDelete:()=>{((e,t)=>{E(e),A(t),T(!0)})(e,n)}})},`chip-${t}`):null}))})]})]})}),(0,C.jsx)(_.R,{scopes:[r.OV.S3_PUT_OBJECT_TAGGING,r.OV.S3_PUT_ACTIONS],resource:d,errorProps:{disabled:!0,onClick:null},children:(0,C.jsxs)(h.azJ,{children:[(0,C.jsx)(h._xt,{icon:(0,C.jsx)(h.b_$,{}),separator:!1,children:"Add New Tag"}),(0,C.jsxs)(h.Hbc,{containerPadding:!1,withBorders:!1,children:[(0,C.jsx)(h.cl_,{value:j,label:"Tag Key",id:"newTagKey",name:"newTagKey",placeholder:"Enter Tag Key",onChange:e=>{b(e.target.value)}}),(0,C.jsx)(h.cl_,{value:g,label:"Tag Label",id:"newTagLabel",name:"newTagLabel",placeholder:"Enter Tag Label",onChange:e=>{f(e.target.value)}}),(0,C.jsxs)(h.xA9,{item:!0,xs:12,sx:K.Uz.modalButtonBar,children:[(0,C.jsx)(h.$nd,{id:"clear",type:"button",variant:"regular",color:"primary",onClick:()=>{f(""),b("")},label:"Clear"}),(0,C.jsx)(h.$nd,{type:"submit",variant:"callAction",disabled:""===g.trim()||""===j.trim()||v,onClick:()=>{S(!0);const e={};e[j]=g;const t={...N,...e},n=p?c.version_id||"":"null";a.F.buckets.putObjectTags(d,{prefix:c.name||"",version_id:n},{tags:t}).then((()=>{i(!0),S(!1)})).catch((e=>{x((0,O.Dy)((0,m.S)(e.error))),S(!1)}))},id:"saveTag",label:"Save"})]})]})]})})]})})})},ae=e=>{let{value:t}=e;const[n,o]=(0,s.useState)(!1);return(0,C.jsxs)(h.azJ,{sx:{display:"flex",alignItems:"center",flexFlow:"row",[`@media (max-width: ${h.nmC.sm}px)`]:{flexFlow:"column"}},children:[(0,C.jsx)(h.cl_,{id:"inspect-dec-key",name:"inspect-dec-key",placeholder:"",label:"",type:n?"text":"password",onChange:()=>{},value:t,overlayIcon:(0,C.jsx)(h.TdU,{}),readOnly:!0,overlayAction:()=>navigator.clipboard.writeText(t)}),(0,C.jsx)(h.$nd,{id:"show-hide-key",style:{marginLeft:"10px"},variant:"callAction",onClick:()=>o(!n),label:"Show/Hide"})]})},le=e=>{let{closeInspectModalAndRefresh:t,inspectOpen:n,inspectPath:o,volumeName:i}=e;const a=(0,l.jL)(),r=()=>t(!1),[d,c]=(0,s.useState)(!0),[u,m]=(0,s.useState)(""),[x,p]=(0,s.useState)("");if(!o)return null;return(0,C.jsxs)(s.Fragment,{children:[!u&&(0,C.jsx)(q.A,{modalOpen:n,titleIcon:(0,C.jsx)(h.nTF,{}),title:"Inspect Object",onClose:r,children:(0,C.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault()})(e)},children:["Would you like to encrypt ",(0,C.jsx)("b",{children:o}),"? ",(0,C.jsx)("br",{}),(0,C.jsx)(h.dOG,{label:"Encrypt",indicatorLabels:["Yes","No"],checked:d,value:"encrypt",id:"encrypt",name:"encrypt",onChange:e=>{c(!d)},description:""}),(0,C.jsx)(h.xA9,{item:!0,xs:12,sx:K.Uz.modalButtonBar,children:(0,C.jsx)(h.$nd,{id:"inspect",type:"submit",variant:"callAction",color:"primary",onClick:async()=>{let e=document.baseURI.replace(window.location.origin,"");(async e=>await fetch(e,{method:"GET"}))(`${window.location.origin}${e}/api/v1/admin/inspect?volume=${encodeURIComponent(i)}&file=${encodeURIComponent(o+"/xl.meta")}&encrypt=${d}`).then((async e=>{if(!e.ok){const t=await e.json();a((0,O.C9)({errorMessage:t.message,detailedError:t.code}))}const t=await e.blob(),n=e.headers.get("content-disposition").split('"')[1],s=(0,j.UM)(n)||"";(0,j.OT)(t,n),p(n),""!==s?m(s):r()})).catch((e=>{a((0,O.C9)(e))}))},label:"Inspect"})})]})}),u?(0,C.jsxs)(q.A,{modalOpen:n,title:"Inspect Decryption Key",onClose:()=>{(0,j.Yj)(x),r(),m("")},titleIcon:(0,C.jsx)(h.aJN,{}),children:[(0,C.jsxs)(h.azJ,{children:["This will be displayed only once. It cannot be recovered.",(0,C.jsx)("br",{}),"Use secure medium to share this key."]}),(0,C.jsx)(h.azJ,{children:(0,C.jsx)(ae,{value:u})})]}):null]})},re=e=>{let{open:t,closeModal:n,currentItem:o,internalPaths:i,actualInfo:a,bucketName:r}=e;const d=(0,l.jL)(),[c,u]=(0,s.useState)(o),[m,x]=(0,s.useState)(!1);return(0,C.jsxs)(q.A,{title:"Rename Download",modalOpen:t,onClose:n,titleIcon:(0,C.jsx)(h.qUP,{}),children:[(0,C.jsxs)("div",{children:["The file you are trying to download has a long name.",(0,C.jsx)("br",{}),"This can cause issues on Windows Systems by trimming the file name after download.",(0,C.jsx)("br",{}),(0,C.jsx)("br",{})," We recommend to rename the file download"]}),(0,C.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault(),(0,R._)(d,r,i,a),n()})(e)},children:(0,C.jsxs)(h.Hbc,{withBorders:!1,containerPadding:!1,children:[(0,C.jsx)(h.cl_,{id:"download-filename",name:"download-filename",onChange:e=>{u(e.target.value)},label:"",type:"text",value:c,error:c.length>200&&!m?"Filename should be less than 200 characters long.":""}),(0,C.jsx)(h.dOG,{value:"acceptLongName",id:"acceptLongName",name:"acceptLongName",checked:m,onChange:e=>{x(e.target.checked),e.target.checked&&u(o)},label:"Use Original Name"}),(0,C.jsx)(h.xA9,{item:!0,xs:12,sx:K.Uz.modalButtonBar,children:(0,C.jsx)(h.$nd,{id:"download-file",type:"submit",variant:"callAction",color:"primary",disabled:c.length>200&&!m,label:"Download File"})})]})})]})},de={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:0,tags:{},version_id:void 0},ce=e=>{let{internalPaths:t,bucketName:n,versioningInfo:i,locking:c,onClosePanel:m}=e;const x=(0,l.jL)(),p=(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),[y,E]=(0,s.useState)(!1),[I,N]=(0,s.useState)(!1),[k,B]=(0,s.useState)(!1),[F,V]=(0,s.useState)(null),[D,P]=(0,s.useState)([]),[$,J]=(0,s.useState)(null),[K,W]=(0,s.useState)([]),[H,Y]=(0,s.useState)(!1),[Z,q]=(0,s.useState)(!1),[Q,ee]=(0,s.useState)(0),[te,oe]=(0,s.useState)(!1),[ae,ce]=(0,s.useState)(null),[ue,he]=(0,s.useState)(!1),me=(t||"").split("/").pop()||"";let xe=[];F&&F.name&&(xe=F.name.split("/")),(0,s.useEffect)((()=>{if(p&&D&&D.length>=1){let e=D.find((e=>e.is_latest))||de;""!==g&&(e=D.find((e=>e.version_id===g))||de),e.is_delete_marker||he(!0),V(e)}}),[g,p,D]),(0,s.useEffect)((()=>{f&&""!==t&&a.F.buckets.listObjects(n,{prefix:t,with_versions:p}).then((e=>{const t=e.data.objects||[];if(p){P(t),W(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),W([]),e.is_delete_marker||he(!0)}x((0,d.oe)(!1))})).catch((e=>{console.error("Error loading object details",e.error),x((0,d.oe)(!1))}))}),[f,n,t,x,p,g]),(0,s.useEffect)((()=>{ue&&""!==t&&a.F.buckets.getObjectMetadata(n,{prefix:t,versionID:(null===F||void 0===F?void 0:F.version_id)||""}).then((e=>{let t=u()(e.data,"objectMetadata",{});ce(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,C.jsx)("div",{style:{textAlign:"center",marginTop:35},children:(0,C.jsx)(h.aHM,{})});if(!F)return f?je:null;const be=xe.length>0?xe[xe.length-1]:F.name,ge=[n,me,[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,me,[n,F.name].join("/")],[r.OV.S3_DELETE_OBJECT]);let Ce=(0,A.IZ)(ae,me);const ye=[{action:()=>{(0,R._)(x,n,t,F)},label:"Download",disabled:!!F.is_delete_marker||!we,icon:(0,C.jsx)(h.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,C.jsx)(h.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"===Ce&&!we,icon:(0,C.jsx)(h.cyn,{}),tooltip:we?"Preview this File":(0,r.vj)([r.OV.S3_GET_OBJECT,r.OV.S3_GET_ACTIONS],"preview this object")},{action:()=>{N(!0)},label:"Legal Hold",disabled:!c||!p||!!F.is_delete_marker||!fe||""!==g,icon:(0,C.jsx)(h.ODz,{}),tooltip:fe?c?"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:!p||!!F.is_delete_marker||!_e||""!==g||!c,icon:(0,C.jsx)(h.gn6,{}),tooltip:_e?c?"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,C.jsx)(h.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:!p||!!F.is_delete_marker||""!==g||!Se,icon:(0,C.jsx)(h.nTF,{}),tooltip:Se?"Inspect this file":(0,r.vj)([r.OV.ADMIN_INSPECT_DATA],"inspect this file")},{action:()=>{x((0,d.cQ)({status:!b,objectName:be}))},label:b?"Hide Object Versions":"Display Object Versions",icon:(0,C.jsx)(h.j1U,{}),disabled:!p||!(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,C.jsxs)(s.Fragment,{children:[v&&F&&(0,C.jsx)(M.default,{open:v,closeModalAndRefresh:()=>{J(null),S(!1)},bucketName:n,dataObject:$||F}),w&&F&&(0,C.jsx)(X,{open:w,closeModalAndRefresh:e=>{T(!1),e&&x((0,d.oe)(!0))},objectName:me,objectInfo:F,bucketName:n}),H&&(0,C.jsx)(ne,{deleteOpen:H,selectedBucket:n,selectedObject:t,closeDeleteModalAndRefresh:e=>{Y(!1),e&&""===g?m(!0):(x((0,d.SK)(!0)),x((0,d.Ai)("")),x((0,d.oe)(!0)))},versioningInfo:p?i:void 0,selectedVersion:g}),I&&F&&(0,C.jsx)(se,{open:I,closeModalAndRefresh:e=>{N(!1),e&&x((0,d.oe)(!0))},objectName:F.name||"",bucketName:n,actualInfo:F}),Z&&F&&(0,C.jsx)(z.default,{open:Z,bucketName:n,actualInfo:F,onClosePreview:()=>{q(!1)}}),y&&F&&(0,C.jsx)(ie,{modalOpen:y,bucketName:n,actualInfo:F,onCloseAndUpdate:e=>{E(!1),e&&x((0,d.oe)(!0))}}),k&&F&&(0,C.jsx)(le,{inspectOpen:k,volumeName:n,inspectPath:F.name||"",closeInspectModalAndRefresh:e=>{B(!1),e&&x((0,d.oe)(!0))}}),te&&F&&(0,C.jsx)(re,{open:te,closeModal:()=>{oe(!1)},currentItem:me,bucketName:n,internalPaths:t,actualInfo:F}),f?(0,C.jsx)(s.Fragment,{children:je}):(0,C.jsxs)(h.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,C.jsx)(h.Smc,{title:(0,C.jsxs)("div",{className:"ObjectDetailsTitle",children:[U(be||"",!0),(0,C.jsx)("span",{className:"objectNameContainer",children:be})]}),items:ye}),(0,C.jsx)(L.A,{tooltip:Te?"":(0,r.vj)([r.OV.S3_DELETE_OBJECT],"delete this object"),children:(0,C.jsx)(h.xA9,{item:!0,xs:12,sx:{justifyContent:"center",display:"flex"},children:(0,C.jsx)(_.R,{resource:[n,me,[n,F.name].join("/")],scopes:[r.OV.S3_DELETE_OBJECT],errorProps:{disabled:!0},children:(0,C.jsx)(h.$nd,{id:"delete-element-click",icon:(0,C.jsx)(h.d7y,{}),iconLocation:"start",fullWidth:!0,variant:"secondary",onClick:()=>{Y(!0)},disabled:""===g&&F.is_delete_marker,sx:{width:"calc(100% - 44px)",margin:"8px 0"},label:"Delete"+(""!==g?" version":"")})})})}),(0,C.jsx)(h.kCK,{icon:(0,C.jsx)(h.Hch,{}),label:"Object Info"}),(0,C.jsxs)(h.azJ,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Name:"}),(0,C.jsx)("br",{}),(0,C.jsx)("div",{style:{overflowWrap:"break-word"},children:be})]}),""!==g&&(0,C.jsxs)(h.azJ,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Version ID:"}),(0,C.jsx)("br",{}),g]}),(0,C.jsxs)(h.azJ,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Size:"}),(0,C.jsx)("br",{}),(0,j.nO)(`${F.size||"0"}`)]}),F.version_id&&"null"!==F.version_id&&""===g&&(0,C.jsxs)(h.azJ,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Versions:"}),(0,C.jsx)("br",{}),K.length," version",1!==K.length?"s":"",","," ",(0,j.qO)(Q)]}),""===g&&(0,C.jsxs)(h.azJ,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Last Modified:"}),(0,C.jsx)("br",{}),(e=>{const t=new Date,n=new Date(e),s=t.getTime()-n.getTime(),o=(0,j.eQ)(s,"ms");return""!==o.trim()?`${o} ago`:"Just now"})(F.last_modified||"")]}),(0,C.jsxs)(h.azJ,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"ETAG:"}),(0,C.jsx)("br",{}),F.etag||"N/A"]}),(0,C.jsxs)(h.azJ,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Tags:"}),(0,C.jsx)("br",{}),0===pe.length?"N/A":pe.map(((e,t)=>(0,C.jsxs)("span",{children:[e,":",u()(F,`tags.${e}`,""),t{let{versionToRestore:t,bucketName:n,objectPath:o,restoreOpen:i,onCloseAndUpdate:r}=e;const c=(0,l.jL)(),[u,x]=(0,s.useState)(!1);return(0,C.jsx)(ee.A,{title:"Restore File Version",confirmText:"Restore",isOpen:i,isLoading:u,titleIcon:(0,C.jsx)(h.YkU,{}),onConfirm:()=>{x(!0),a.F.buckets.putObjectRestore(n,{prefix:o,version_id:t.version_id||""}).then((()=>{x(!1),r(!0),c((0,d.NV)({prefix:o,objectInfo:t}))})).catch((e=>{c((0,O.C9)((0,m.S)(e.error))),x(!1)}))},confirmButtonProps:{variant:"secondary",disabled:u},onClose:()=>{r(!1)},confirmationContent:(0,C.jsxs)(h.azJ,{id:"alert-dialog-description",children:["Are you sure you want to restore ",(0,C.jsx)("br",{}),(0,C.jsx)("b",{children:o})," ",(0,C.jsx)("br",{})," with Version ID:",(0,C.jsx)("br",{}),(0,C.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,C.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})},me=f.Ay.div((e=>{let{theme:t}=e;return{"&:before":{content:"' '",display:"block",position:"absolute",width:"2px",height:"calc(100% + 2px)",backgroundColor:u()(t,"borderColor","#F8F8F8"),left:"24px"},"& .mainFileVersionItem":{borderBottom:`${u()(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:u()(t,"boxBackground","#F8F8F8"),"& > div":{borderBottomColor:u()(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:u()(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"}}}})),xe=e=>{let{fileName:t,versionInfo:n,isSelected:s,checkable:o,isChecked:i,onCheck:a,onShare:l,onDownload:r,onRestore:d,onPreview:c,globalClick:u,index:m,key:x,style:b}=e;const g=n.is_delete_marker,f=[{icon:(0,C.jsx)(h.cyn,{}),action:c,tooltip:"Preview"},{icon:(0,C.jsx)(h.s3U,{}),action:r,tooltip:"Download this version"},{icon:(0,C.jsx)(h.liv,{}),action:l,tooltip:"Share this version"},{icon:(0,C.jsx)(h.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 _=p.c9.now();return n.last_modified&&(_=p.c9.fromISO(n.last_modified)),(0,C.jsx)(me,{children:(0,C.jsx)(h.xA9,{container:!0,className:"ctrItem",onClick:()=>{u(n)},style:b,children:(0,C.jsx)(h.xA9,{item:!0,xs:12,className:"intermediateLayer "+(s?"selected":""),children:(0,C.jsxs)(h.xA9,{item:!0,xs:!0,className:"mainFileVersionItem "+(n.is_delete_marker?"deleted":""),children:[(0,C.jsx)(h.xA9,{item:!0,xs:12,children:(0,C.jsxs)(h.xA9,{container:!0,children:[(0,C.jsxs)(h.xA9,{item:!0,xs:!0,md:4,className:"versionContainer",children:[o&&(0,C.jsx)(h.Sc0,{checked:i,id:`select-${n.version_id}`,name:`select-${n.version_id}`,onChange:e=>{e.stopPropagation(),a(n.version_id||"")},value:n.version_id||"",disabled:n.is_delete_marker,sx:{width:"initial"}}),U(t,!0)," v",m.toString(),(0,C.jsx)("span",{className:"versionItem",children:v&&(0,C.jsx)(he,{type:v})})]}),(0,C.jsx)(h.xA9,{item:!0,xs:10,md:8,className:"buttonContainer",children:f.map(((e,t)=>(0,C.jsx)(h.m_M,{tooltip:e.tooltip,children:(0,C.jsx)(h.K0,{size:"small",id:`version-action-${e.tooltip}-${t.toString()}`,className:"spacing "+(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-${e.tooltip}-${t.toString()}`)))})]})}),(0,C.jsx)(h.xA9,{item:!0,xs:12,className:"versionID",children:"null"!==n.version_id?n.version_id:"-"}),(0,C.jsxs)(h.xA9,{item:!0,xs:12,className:"collapsableInfo",children:[(0,C.jsxs)("span",{className:"versionData",children:[(0,C.jsx)("strong",{children:"Last modified:"})," ",_.toFormat("ccc, LLL dd yyyy HH:mm:ss (ZZZZ)")]}),(0,C.jsxs)("span",{className:"versionData",children:[(0,C.jsx)("strong",{children:"Size:"})," ",(0,j.nO)(`${n.size||"0"}`)]})]})]})})},x)})},pe=e=>{let{closeDeleteModalAndRefresh:t,deleteOpen:n,selectedBucket:i,selectedObject:d}=e;const c=(0,l.jL)(),[u,x]=(0,s.useState)(!1),[p,j]=(0,s.useState)(""),[b,g]=(0,s.useState)(!1),f=(0,o.d4)((e=>e.objectBrowser.retentionConfig)),v=(0,_._)([i],[r.OV.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===f||void 0===f?void 0:f.mode);if((0,s.useEffect)((()=>{u&&a.F.buckets.deleteObject(i,{prefix:d,non_current_versions:!0,bypass:b}).then((()=>{t(!0)})).catch((e=>{c((0,O.C9)((0,m.S)(e.error))),x(!1)}))}),[u,t,c,d,i,b]),!d)return null;return(0,C.jsx)(ee.A,{title:"Delete Non-Current versions",confirmText:"Delete",isOpen:n,titleIcon:(0,C.jsx)(h.xWY,{}),isLoading:u,onConfirm:()=>{x(!0)},onClose:()=>t(!1),confirmButtonProps:{disabled:"YES, PROCEED"!==p||u},confirmationContent:(0,C.jsxs)(s.Fragment,{children:["Are you sure you want to delete all the non-current versions for:"," ",(0,C.jsx)("b",{children:d}),"? ",(0,C.jsx)("br",{}),v&&(0,C.jsx)(s.Fragment,{children:(0,C.jsx)("div",{style:{marginTop:10},children:(0,C.jsx)(h.dOG,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:b,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:e=>{g(!b)},description:""})})}),(0,C.jsx)("br",{}),"To continue please type ",(0,C.jsx)("b",{children:"YES, PROCEED"})," in the box.",(0,C.jsx)("br",{}),(0,C.jsx)("br",{}),(0,C.jsx)(h.xA9,{item:!0,xs:12,children:(0,C.jsx)(h.cl_,{id:"type-confirm",name:"retype-tenant",onChange:e=>{j(e.target.value)},label:"",value:p})})]})})},je=e=>{let{closeDeleteModalAndRefresh:t,deleteOpen:n,selectedBucket:i,selectedVersions:d,selectedObject:c}=e;const u=(0,l.jL)(),[x,p]=(0,s.useState)(!1),[j,b]=(0,s.useState)(!1),g=(0,o.d4)((e=>e.objectBrowser.retentionConfig)),f=(0,_._)([i],[r.OV.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===g||void 0===g?void 0:g.mode);return(0,s.useEffect)((()=>{if(x){const e=d.map((e=>({path:c,versionID:e,recursive:!1})));e.length>0&&a.F.buckets.deleteMultipleObjects(i,e,{all_versions:!1,bypass:j}).then((()=>{p(!1),t(!0)})).catch((e=>{u((0,O.C9)((0,m.S)(e.error))),p(!1)}))}}),[x,t,i,c,d,j,u]),d?(0,C.jsx)(ee.A,{title:"Delete Selected Versions",confirmText:"Delete",isOpen:n,titleIcon:(0,C.jsx)(h.xWY,{}),isLoading:x,onConfirm:()=>{p(!0)},onClose:()=>t(!1),confirmationContent:(0,C.jsxs)(s.Fragment,{children:["Are you sure you want to delete the selected ",d.length," ","versions for ",(0,C.jsx)("strong",{children:c}),"?",f&&(0,C.jsx)(s.Fragment,{children:(0,C.jsx)("div",{style:{marginTop:10},children:(0,C.jsx)(h.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 i=(0,l.jL)(),r=(0,o.d4)((e=>e.objectBrowser.searchVersions)),c=(0,o.d4)((e=>e.objectBrowser.loadingVersions)),x=(0,o.d4)((e=>e.objectBrowser.selectedVersion)),p=(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)([]),[y,E]=(0,s.useState)(!1),[A,N]=(0,s.useState)(null),[k,B]=(0,s.useState)("date"),[F,V]=(0,s.useState)(!1),[D,P]=(0,s.useState)(!1),[$,U]=(0,s.useState)(!1),[G,J]=(0,s.useState)([]),[K,W]=(0,s.useState)(!1);let H=[];f&&f.name&&(H=f.name.split("/")),(0,s.useEffect)((()=>{c||f||i((0,d.SK)(!0))}),[c,f,i]),(0,s.useEffect)((()=>{c&&""!==t&&a.F.buckets.listObjects(n,{prefix:t,with_versions:p}).then((e=>{const n=u()(e.data,"objects",[]).filter((e=>e.name===t));p?(v(n.find((e=>e.is_latest))||ge),T(n)):(v(n[0]),T([])),i((0,d.SK)(!1))})).catch((e=>{i((0,O.C9)((0,m.S)(e.error))),i((0,d.SK)(!1))}))}),[c,n,t,i,p]);const Y=e=>{S(e),g(!0)},Z=e=>{S(e),V(!0)},q=e=>{N(e),E(!0)},Q=e=>{(0,R._)(i,n,t,e)},X=e=>{i((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(G.includes(e)){const t=G.filter((t=>t!==e));return void J(t)}const t=[...G];t.push(e),J(t)};return(0,C.jsxs)(s.Fragment,{children:[b&&f&&(0,C.jsx)(M.default,{open:b,closeModalAndRefresh:()=>{S(null),g(!1),V(!1)},bucketName:n,dataObject:_||f}),y&&f&&A&&(0,C.jsx)(ue,{restoreOpen:y,bucketName:n,versionToRestore:A,objectPath:f.name||"",onCloseAndUpdate:e=>{E(!1),N(null),e&&(i((0,d.SK)(!0)),i((0,d.oe)(!0)))}}),F&&f&&(0,C.jsx)(z.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,C.jsx)(pe,{deleteOpen:D,closeDeleteModalAndRefresh:e=>{P(!1),e&&(i((0,d.SK)(!0)),i((0,d.Ai)("")),i((0,d.oe)(!0)))},selectedBucket:n,selectedObject:t}),K&&(0,C.jsx)(je,{selectedBucket:n,selectedObject:t,deleteOpen:K,selectedVersions:G,closeDeleteModalAndRefresh:e=>{W(!1),e&&(i((0,d.SK)(!0)),i((0,d.Ai)("")),i((0,d.oe)(!0)),J([]))}}),(0,C.jsxs)(h.xA9,{container:!0,sx:{width:"100%",padding:10,"@media (max-width: 799px)":{minHeight:800}},children:[!f&&(0,C.jsx)(h.xA9,{item:!0,xs:12,children:(0,C.jsx)(h.z21,{})}),f&&(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(h.xA9,{item:!0,xs:12,children:(0,C.jsx)(I,{bucketName:n,internalPaths:t,hidePathButton:!0})}),(0,C.jsx)(h.xA9,{item:!0,xs:12,sx:{position:"relative","& .detailsSpacer":{marginRight:18,"@media (max-width: 600px)":{marginRight:0}},[`@media (max-width: ${h.nmC.md}px)`]:{"&::before":{display:"none"}}},children:(0,C.jsx)(h.lcx,{icon:(0,C.jsx)("span",{style:{display:"block",marginTop:"-10px"},children:(0,C.jsx)(h.j1U,{style:{width:20,height:20}})}),title:`${H.length>0?H[H.length-1]:f.name} Versions`,subTitle:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)("span",{className:"detailsSpacer",children:(0,C.jsxs)("strong",{children:[w.length," Version",1===w.length?"":"s","\xa0\xa0\xa0"]})}),(0,C.jsx)("span",{className:"detailsSpacer",children:(0,C.jsx)("strong",{children:(0,j.qO)(te)})})]}),actions:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(L.A,{tooltip:"Select Multiple Versions",children:(0,C.jsx)(h.$nd,{id:"select-multiple-versions",onClick:()=>{U(!$)},icon:(0,C.jsx)(h.IN,{}),variant:$?"callAction":"regular",style:{marginRight:8}})}),$&&(0,C.jsx)(L.A,{tooltip:"Delete Selected Versions",children:(0,C.jsx)(h.$nd,{id:"delete-multiple-versions",onClick:()=>{W(!0)},icon:(0,C.jsx)(h.d7y,{}),variant:"secondary",style:{marginRight:8},disabled:0===G.length})}),(0,C.jsx)(L.A,{tooltip:"Delete Non Current Versions",children:(0,C.jsx)(h.$nd,{id:"delete-non-current",onClick:()=>{P(!0)},icon:(0,C.jsx)(h.rgY,{}),variant:"secondary",style:{marginRight:15},disabled:w.length<=1})}),(0,C.jsx)(h.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,C.jsx)(h.xA9,{item:!0,xs:12,sx:{flexGrow:1,height:"calc(100% - 120px)",overflow:"auto",[`@media (max-width: ${h.nmC.md}px)`]:{height:600}},children:f.version_id&&"null"!==f.version_id&&(0,C.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:i}=e;const a=w.length-n;return(0,C.jsx)(xe,{style:i,fileName:(null===f||void 0===f?void 0:f.name)||"",versionInfo:ee[n],index:a,onDownload:Q,onRestore:q,onShare:Y,onPreview:Z,globalClick:X,isSelected:x===ee[n].version_id,checkable:$,onCheck:ne,isChecked:G.includes(ee[n].version_id||"")},t)}})})]})]})]})},ve=e=>{if(e.name.endsWith("/"))return"";const t=p.c9.now(),n=p.c9.fromISO(e.last_modified);return t.hasSame(n,"day")&&t.hasSame(n,"month")&&t.hasSame(n,"year")?`Today, ${n.toFormat("HH:mm")}`:n.toFormat("ccc, LLL dd yyyy HH:mm (ZZZZ)")},_e=e=>e.name.endsWith("/")||!e.size?"-":(0,j.nO)(String(e.size)),Se=[{label:"Name",elementKey:"name",renderFunction:U,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:U,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,i.g)(),n=(0,i.Zp)(),[a,c]=(0,s.useState)("ASC"),[m,x]=(0,s.useState)("name"),p=t.bucketName||"",j=(0,o.d4)((e=>e.objectBrowser.objectDetailsOpen)),b=(0,o.d4)((e=>e.objectBrowser.requestInProgress)),g=(0,o.d4)(we.s$),f=!(null===g||void 0===g||!g.includes("object-browser-only")),v=(0,o.d4)((e=>e.objectBrowser.rewind.rewindEnabled)),S=(0,o.d4)((e=>e.objectBrowser.records)),O=(0,o.d4)((e=>e.objectBrowser.searchObjects)),w=(0,o.d4)((e=>e.objectBrowser.selectedObjects)),T=(0,o.d4)((e=>e.objectBrowser.connectionError)),y=(0,o.d4)((e=>e.system.anonymousMode)),E=(0,_._)(p,[r.OV.S3_LIST_BUCKET,r.OV.S3_ALL_LIST_BUCKET]),I=S.filter((e=>{if(""===O)return!0;return e.name.toLowerCase().indexOf(O.toLowerCase())>=0})).sort((0,A.$w)(m));let N=[];N="ASC"===a?I:I.reverse();const k=[{type:"view",tooltip:"View",onClick:t=>{var s;const o=t.name||"",i=`/browser/${encodeURIComponent(p)}${o?`/${encodeURIComponent(o)}`:""}`;!y||null!==(s=t.name)&&void 0!==s&&s.endsWith("/")?(e((0,d.KX)([])),n(i),y||(e((0,d.TO)(!0)),e((0,d.SK)(!0))),e((0,d.A7)(o))):(0,R._)(e,p,o,t)},sendOnlyId:!1}];let B=E||y?"This location is empty"+(v?"":", 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");T&&(B="Objects List unavailable. Please review your WebSockets configuration and try again");let F="calc(100vh - 290px)";return f&&(F="calc(100vh - 315px)"),(0,C.jsx)(h.bQt,{itemActions:k,columns:v?Oe:Se,isLoading:b,entityName:"Objects",idField:"name",records:N,customPaperHeight:F,selectedItems:w,onSelect:y?void 0:t=>{const n=t.target,s=n.value,o=n.checked;let i=[...w];return o?i.push(s):i=i.filter((e=>e!==s)),e((0,d.KX)(i)),e((0,d.A7)(null)),i},customEmptyMessage:B,sortEnabled:{currentSort:m,currentDirection:a,onSortClick:t=>{const n=u()(t,"sortDirection","DESC");x(t.sortBy),c(n),e((0,d.Yw)(!0))}},onSelectAll:()=>{if(e((0,d.A7)(null)),w.length===N.length)return void e((0,d.KX)([]));const t=N.map((e=>e.name));e((0,d.KX)(t))},rowStyle:e=>{var t;let{index:n}=e;return null!==(t=N[n])&&void 0!==t&&t.delete_flag?"deleted":""},sx:{minHeight:j?"100%":"initial"},noBackground:!0})};var Ce=n(64681);const ye=()=>{const e=(0,l.jL)(),t=(0,o.d4)((e=>e.objectBrowser.searchObjects));return(0,C.jsx)(Ce.A,{placeholder:"Start typing to filter objects in the bucket",onChange:t=>{e((0,d.$X)(t))},value:t})};var Ee=n(30614);const Ie=(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))))),Ne=(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,i.g)(),c=(0,i.Zp)(),b=(0,i.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)),y=(0,o.d4)((e=>e.objectBrowser.objectDetailsOpen)),E=(0,o.d4)((e=>e.objectBrowser.selectedInternalPaths)),R=(0,o.d4)((e=>e.objectBrowser.requestInProgress)),P=(0,o.d4)((e=>e.objectBrowser.simplePath)),$=(0,o.d4)((e=>e.objectBrowser.versionInfo)),U=(0,o.d4)((e=>e.objectBrowser.lockingEnabled)),z=(0,o.d4)((e=>e.objectBrowser.downloadRenameModal)),G=(0,o.d4)((e=>e.objectBrowser.selectedPreview)),M=(0,o.d4)((e=>e.objectBrowser.shareFileModalOpen)),J=(0,o.d4)((e=>e.objectBrowser.previewOpen)),K=(0,o.d4)((e=>e.objectBrowser.selectedBucket)),W=(0,o.d4)((e=>e.system.anonymousMode)),H=(0,o.d4)((e=>e.objectBrowser.anonymousAccessOpen)),Y=(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,ie]=(0,s.useState)(!1),[ae,le]=(0,s.useState)(!1),[de,ue]=(0,s.useState)(null),[he,me]=(0,s.useState)(null),[xe,pe]=(0,s.useState)(!1),je=N($.status),be=n.bucketName||"",ge=b.pathname.split(`/browser/${be}/`),ve=2===ge.length?decodeURIComponent(ge[1]):"",_e=ve.split("/").filter((e=>""!==e));let Se=[be];_e.length>0&&(Se=Se.concat(_e));const Oe=(0,s.useRef)(null),we=(0,s.useRef)(null),Ce=(0,o.d4)((e=>e.console.session&&e.console.session.permissions||{})),Ve=[r.OV.S3_PUT_OBJECT,r.OV.S3_PUT_ACTIONS],De=Se.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(`.${n}`),e}),[]);return[...new Set(n)].join(",")}(Ce,De,Ve),Pe=T(Ce,De,Ve),$e=(0,_._)([De,...Pe],[r.OV.S3_GET_OBJECT,r.OV.S3_GET_ACTIONS]),Ue=(0,_._)(be,[r.OV.S3_GET_OBJECT,r.OV.S3_GET_ACTIONS,r.OV.S3_GET_BUCKET_VERSIONING]),ze=(0,_._)([De,...Pe],[r.OV.S3_DELETE_OBJECT]),Ge=(0,_._)([De,...Pe],Ve)||W,Me=(0,_._)(be,[r.OV.S3_GET_BUCKET_POLICY,r.OV.S3_PUT_BUCKET_POLICY,r.OV.S3_GET_ACTIONS,r.OV.S3_PUT_ACTIONS]),Je=(0,o.d4)((e=>e.objectBrowser.selectedObjects)),Ke=(()=>{let e=!1;if(1===Je.length){e=!!Y.find((e=>e.name===`${Je[0]}`&&e.delete_flag))}return e})(),We=(0,s.useCallback)((()=>{const e=Je[0];!xe&&e&&a.F.buckets.getObjectMetadata(be,{prefix:e}).then((e=>{let t=u()(e.data,"objectMetadata",{});pe(!0),me(t)})).catch((e=>{console.error("Error Getting Metadata Status: ",e,null===e||void 0===e?void 0:e.detailedError),pe(!0)}))}),[be,Je,xe]);(0,s.useEffect)((()=>{be&&!Ke&&We()}),[be,Je,We,Ke]),(0,s.useEffect)((()=>{g&&f!==be&&t((0,d.rS)())}),[g,f,be,t]),(0,s.useEffect)((()=>{null!==we.current&&(we.current.setAttribute("directory",""),we.current.setAttribute("webkitdirectory",""))}),[we]),(0,s.useEffect)((()=>{if(1===Je.length){const e=Je[0],t=e.endsWith("/");let n=(0,A.IZ)(he,e);le(!("none"===n||!$e)),ie(!(!$e||t))}else ie(!1),le(!1)}),[Je,$e,he]),(0,s.useEffect)((()=>{de||W||a.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)}))}),[de,be,W]),(0,s.useEffect)((()=>{Je.length>0?t((0,d.TO)(!0)):0!==Je.length||null!==E||R||t((0,d.TO)(!1))}),[Je,E,t,R]),(0,s.useEffect)((()=>{ne||(t((0,B.ZU)(!0)),se(!0))}),[ne,t,se]),(0,s.useEffect)((()=>{!R&&!Z||W||a.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,W,R]),(0,s.useEffect)((()=>{""!==K&&a.F.buckets.getBucketRetentionConfig(K).then((e=>{t((0,d.PJ)(e.data))})).catch((()=>{t((0,d.PJ)(null))}))}),[K,t]);const He=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="";P&&(s=P.endsWith("/")?P:P+"/");((e,n,s,o)=>{let i=i=>new Promise(((a,l)=>{let r=`api/v1/buckets/${n}/objects/upload`;const c=i.name,h=new Blob([i],{type:i.type}),m=u()(i,"path",""),x=u()(i,"webkitRelativePath","");let p=o;const j=(0,k.E0)(8);""!==m?p=m:""!==x&&(p=x);let b="";if(""!==s||""!==p){const e=p.split("/").slice(0,-1).join("/"),t=s.endsWith("/")?s.slice(0,-1):s;b=`${t}${t.endsWith("/")||""===e||e.startsWith("/")?"":"/"}${e}${!e.endsWith("/")||""===e.trim()&&!s.endsWith("/")?"/":""}`}r=""!==b?`${r}?prefix=${encodeURIComponent(b+c)}`:`${r}?prefix=${encodeURIComponent(c)}`;const g=encodeURIComponent(`${n}-${b}-${(new Date).getTime()}-${Math.random()}`);let f=new XMLHttpRequest;f.open("POST",r,!0),W&&f.setRequestHeader("X-Anonymous","1");let v=`An error occurred while uploading the file${e.length>1?"s":""}.`;const _={413:"Error - File size too large"};f.withCredentials=!1,f.onload=function(){if(f.status>=200&&f.status<300)t((0,d.rx)(g)),a({status:f.status}),(0,k.vy)(j);else{if(_[f.status])v=_[f.status];else if(f.response)try{const e=JSON.parse(f.response);v=e.detailedMessage}catch(e){v="something went wrong"}t((0,d.iL)({instanceID:g,msg:v})),l({status:f.status,message:v}),(0,k.vy)(j)}},f.upload.addEventListener("error",(()=>{l(v),t((0,d.iL)({instanceID:g,msg:"A network error occurred."}))})),f.upload.addEventListener("progress",(e=>{const n=Math.floor(100*e.loaded/e.total);t((0,d.DW)({instanceID:g,progress:n}))})),f.onerror=()=>{l(v),t((0,d.iL)({instanceID:g,msg:"A network error occurred."}))},f.onloadend=()=>{0===e.length&&t((0,d.Yw)(!0))},f.onabort=()=>{t((0,d.Dm)(g))};const S=new FormData;void 0!==i.size&&(S.append(i.size.toString(),h,c),(0,k.FP)(j,f),t((0,d.cP)({ID:j,bucketName:n,done:!1,instanceID:g,percentage:0,prefix:`${b}${c}`,type:"upload",waitingForFile:!1,failed:!1,cancelled:!1,errorMessage:""})),(0,k.vx)(j,S))}));const a=[];t((0,d.Nu)());for(let t=0;t{const n=e.filter((e=>"rejected"===e.status));if(n.length>0){const e=a.length,s={errorMessage:"There were some errors during file upload",detailedError:`Uploaded files ${a.length-n.length}/${e}`};t((0,O.C9)(s))}t((0,d.Yw)(!0))}))})(e,be,s,n)}),[be,t,P,W]),Ze=(0,s.useCallback)((e=>{if(e&&e.length>0&&Ge){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?(Ye(s,n),console.log(`${s.length} Allowed Files Processed out of ${e.length}.`,De,...Pe),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.",De,...Pe))}Ge||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")}))}),[Ye]),{getRootProps:qe,getInputProps:Qe,isDragActive:Xe,isDragAccept:et}=(0,x.VB)({noClick:!0,onDrop:Ze}),tt=(0,s.useMemo)((()=>({...Be,...Xe?Fe:{},...et?Le:{}})),[Xe,et]),nt=e=>{if(t((0,d.A7)(null)),t((0,d.cQ)({status:!1})),y&&null!==E){const e=ve.split("/");e.pop();let t="";e&&e.length>0&&(t=`${e.join("/")}/`),c(`/browser/${encodeURIComponent(be)}/${encodeURIComponent(t)}`)}t((0,d.TO)(!1)),e&&t((0,d.Yw)(!0))};let st=p.c9.now();null!==q&&void 0!==q&&q.creation_date&&(st=p.c9.fromISO(q.creation_date));const ot=(null===Je||void 0===Je?void 0:Je.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:!$e||Ke,icon:(0,C.jsx)(h.s3U,{}),tooltip:$e?ot:(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!==Je.length||!oe||Ke,icon:(0,C.jsx)(h.liv,{}),tooltip:oe?"Share Selected File":"Sharing unavailable"},{action:()=>{t((0,F.HS)())},label:"Preview",disabled:1!==Je.length||!ae||Ke,icon:(0,C.jsx)(h.cyn,{}),tooltip:ae?"Preview Selected File":"Preview unavailable"},{action:()=>{t((0,F.oz)())},label:"Anonymous Access",disabled:1!==Je.length||!Je[0].endsWith("/")||!Me,icon:(0,C.jsx)(h._kf,{}),tooltip:1===Je.length&&Je[0].endsWith("/")?"Set Anonymous Access to this Folder":"Anonymous Access unavailable"},{action:()=>{X(!0)},label:"Delete",icon:(0,C.jsx)(h.d7y,{}),disabled:!ze||0===Je.length,tooltip:ze?"Delete Selected Files":(0,r.vj)([r.OV.S3_DELETE_OBJECT],"delete objects in this bucket")}];return(0,C.jsxs)(s.Fragment,{children:[M&&G&&(0,C.jsx)(Ae,{open:M,closeModalAndRefresh:()=>{t((0,d.Lf)(!1)),t((0,d.go)(null))},bucketName:be,dataObject:{name:G.name,last_modified:"",version_id:G.version_id}}),Q&&(0,C.jsx)(Ie,{deleteOpen:Q,selectedBucket:be,selectedObjects:Je,closeDeleteModalAndRefresh:e=>{X(!1),e&&(t((0,O.Hk)("Objects deleted successfully.")),t((0,d.KX)([])),t((0,d.Yw)(!0)))},versioning:$}),ee&&(0,C.jsx)(Ne,{open:ee,closeModalAndRefresh:()=>{te(!1)},bucketName:be}),J&&G&&(0,C.jsx)(ke,{open:J,bucketName:be,actualInfo:{name:G.name||"",last_modified:"",version_id:G.version_id||"",size:G.size||0},onClosePreview:()=>{t((0,d.xE)(!1)),t((0,d.go)(null))}}),!!z&&(0,C.jsx)(re,{open:!!z,closeModal:()=>{t((0,d.Ew)(null))},currentItem:(null===(e=z.name.split("/"))||void 0===e?void 0:e.pop())||"",bucketName:be,internalPaths:ve,actualInfo:{name:z.name,last_modified:"",version_id:z.version_id,size:z.size}}),H&&(0,C.jsx)(Ee.default,{onClose:()=>{t((0,d.I8)(!1))},bucket:be,modalOpen:H,prefilledRoute:`${Je[0]}*`}),(0,C.jsxs)(h.Mxu,{variant:"full",children:[W&&(0,C.jsx)("div",{style:{paddingBottom:16},children:(0,C.jsx)(ye,{})}),(0,C.jsx)(h.azJ,{withBorders:!0,sx:{padding:"0 5px"},children:(0,C.jsx)(h.lcx,{icon:(0,C.jsx)("span",{children:(0,C.jsx)(h.brV,{style:{width:30}})}),title:be,subTitle:W?null:(0,C.jsxs)(h.azJ,{sx:{"& .detailsSpacer":{marginRight:18,"@media (max-width: 600px)":{marginRight:0}}},children:[(0,C.jsxs)("span",{className:"detailsSpacer",children:["Created on:\xa0",(0,C.jsx)("strong",{children:null!==q&&void 0!==q&&q.creation_date?st.toFormat("ccc, LLL dd yyyy HH:mm:ss (ZZZZ)"):""})]}),(0,C.jsxs)("span",{className:"detailsSpacer",children:["Access:\xa0\xa0",(0,C.jsx)("strong",{children:(null===q||void 0===q?void 0:q.access)||""})]}),q&&(0,C.jsx)(s.Fragment,{children:(0,C.jsxs)("span",{className:"detailsSpacer",children:[q.size&&(0,C.jsx)(s.Fragment,{children:(0,j.qO)(q.size)}),q.size&&de&&(0,C.jsxs)(s.Fragment,{children:[" ","/ ",(0,j.qO)(de.quota||0)]}),q.size&&q.objects?" - ":"",q.objects&&(0,C.jsxs)(s.Fragment,{children:[q.objects,"\xa0Object",q.objects&&1!==q.objects?"s":""]})]})})]}),actions:(0,C.jsxs)(s.Fragment,{children:[!W&&(0,C.jsx)(L.A,{tooltip:Ue?"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,C.jsx)(h.$nd,{id:"rewind-objects-list",label:"Rewind",icon:(0,C.jsx)(h.Exy,{color:"alert",dotOnly:!0,invisible:!g,children:(0,C.jsx)(h.osr,{style:{minWidth:16,minHeight:16,width:16,height:16,marginTop:-3}})}),variant:"regular",onClick:()=>{te(!0)},disabled:!je||!Ue})}),(0,C.jsx)(L.A,{tooltip:"Reload List",children:(0,C.jsx)(h.$nd,{id:"refresh-objects-list",label:"Refresh",icon:(0,C.jsx)(h.fNY,{}),variant:"regular",onClick:()=>{v?t((0,d.SK)(!0)):(t((0,d.A3)()),t((0,d.Yw)(!0)))},disabled:!W&&(!(0,_._)(be,[r.OV.S3_LIST_BUCKET,r.OV.S3_ALL_LIST_BUCKET])||g)})}),(0,C.jsx)("input",{type:"file",multiple:!0,accept:Re||void 0,onChange:He,style:{display:"none"},ref:Oe}),(0,C.jsx)("input",{type:"file",multiple:!0,onChange:He,style:{display:"none"},ref:we}),(0,C.jsx)(V,{bucketName:be,uploadPath:De,uploadFileFunction:e=>{Oe&&Oe.current&&Oe.current.click(),e()},uploadFolderFunction:e=>{we&&we.current&&we.current.click(),e()}})]}),bottomBorder:!1})}),(0,C.jsxs)("div",{id:"object-list-wrapper",...qe({style:{...tt}}),children:[(0,C.jsx)("input",{...Qe()}),(0,C.jsxs)(h.azJ,{withBorders:!0,sx:{display:"flex",borderTop:0,padding:0,"& .hideListOnSmall":{"@media (max-width: 799px)":{display:"none"}}},children:[v?(0,C.jsx)(s.Fragment,{children:null!==E&&(0,C.jsx)(fe,{internalPaths:E,bucketName:be})}):(0,C.jsx)(_.R,{scopes:[r.OV.S3_LIST_BUCKET,r.OV.S3_ALL_LIST_BUCKET],resource:be,errorProps:{disabled:!0},children:(0,C.jsxs)(h.xA9,{item:!0,xs:12,sx:{width:"100%",position:"relative","&.detailsOpen":{"@media (max-width: 799px)":{display:"none"}}},className:y?"detailsOpen":"",children:[!W&&(0,C.jsx)(h.xA9,{item:!0,xs:12,sx:{padding:"12px 14px 5px"},children:(0,C.jsx)(I,{bucketName:be,internalPaths:ve,additionalOptions:!je||g?null:(0,C.jsx)(h.Sc0,{name:"deleted_objects",id:"showDeletedObjects",value:"deleted_on",label:"Show deleted objects",onChange:()=>{t((0,d.A3)()),t((0,d.lA)(!S)),nt(!0)},checked:S,sx:{marginLeft:5,"@media (max-width: 600px)":{marginLeft:0,flexDirection:"row"}}}),hidePathButton:!1})}),(0,C.jsx)(Te,{})]})}),!W&&(0,C.jsx)(_.R,{scopes:[r.OV.S3_LIST_BUCKET,r.OV.S3_ALL_LIST_BUCKET],resource:be,errorProps:{disabled:!0},children:(0,C.jsxs)(D,{open:y,closePanel:()=>{nt(!1)},className:""+(v?"hideListOnSmall":""),children:[Je.length>0&&(0,C.jsx)(h.Smc,{items:it,title:"Selected Objects:"}),null!==E&&(0,C.jsx)(ce,{internalPaths:E,bucketName:be,onClosePanel:nt,versioningInfo:$,locking:U})]})})]})]})]})]})};var De=n(18218),Re=n(69772),Pe=n(48793),$e=n(59707),Ue=n(88617);const ze=e=>{let{bucketName:t}=e;const n=(0,l.jL)(),a=(0,o.d4)(we.s$),c=(0,o.d4)((e=>e.objectBrowser.versionsMode)),u=(0,o.d4)((e=>e.objectBrowser.versionedFile)),m=(0,o.d4)((e=>e.objectBrowser.searchVersions)),x=!(null===a||void 0===a||!a.includes("object-browser-only")),p=(0,i.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.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,C.jsx)(s.Fragment,{children:c?(0,C.jsx)(s.Fragment,{children:(0,C.jsx)(Ce.A,{placeholder:`Start typing to filter versions of ${u}`,onChange:e=>{n((0,d.aj)(e))},value:m})}):(0,C.jsx)(_.R,{scopes:[r.OV.S3_LIST_BUCKET,r.OV.S3_ALL_LIST_BUCKET],resource:t,errorProps:{disabled:!0},children:(0,C.jsx)(ye,{})})});return(0,s.useEffect)((()=>{n((0,O.ph)("object_browser"))}),[]),(0,C.jsx)(s.Fragment,{children:x?(0,C.jsxs)(h.xA9,{container:!0,sx:{padding:"20px 32px 0"},children:[(0,C.jsx)(h.xA9,{children:(0,C.jsx)(Re.A,{marginRight:30,marginTop:10})}),(0,C.jsxs)(h.xA9,{item:!0,xs:!0,sx:{display:"flex",gap:10},children:[b,(0,C.jsx)($e.A,{})]})]}):(0,C.jsx)(Pe.A,{label:(0,C.jsx)(h.EGL,{label:"Object Browser",onClick:()=>{p(r.zZ.OBJECT_BROWSER_VIEW)}}),actions:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(_.R,{scopes:r.pC[r.ac.BUCKET_ADMIN],resource:t,errorProps:{disabled:!0},children:(0,C.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,C.jsx)(h.$nd,{id:"configure-bucket-main",color:"primary","aria-label":"Configure Bucket",onClick:()=>p(`/buckets/${t}/admin`),icon:(0,C.jsx)(h.Zes,{style:{width:20,height:20,marginTop:-3}}),style:{padding:"0 10px"}})})}),(0,C.jsx)(Ue.A,{})]}),middleComponent:b})})},Ge=()=>{const e=(0,l.jL)(),t=(0,i.g)(),n=(0,i.zy)(),c=(0,o.d4)((e=>e.objectBrowser.loadingVersioning)),u=(0,o.d4)((e=>e.objectBrowser.rewind.rewindEnabled)),h=(0,o.d4)((e=>e.objectBrowser.rewind.dateToRewind)),m=(0,o.d4)((e=>e.objectBrowser.showDeleted)),x=(0,o.d4)((e=>e.objectBrowser.requestInProgress)),p=(0,o.d4)((e=>e.objectBrowser.loadingLocking)),j=(0,o.d4)((e=>e.objectBrowser.reloadObjectsList)),b=(0,o.d4)((e=>e.objectBrowser.simplePath)),g=(0,o.d4)((e=>e.system.anonymousMode)),f=(0,o.d4)((e=>e.objectBrowser.selectedBucket)),v=(0,o.d4)((e=>e.objectBrowser.records)),_=t.bucketName||"",S=n.pathname.split(`/browser/${encodeURIComponent(_)}/`),O=2===S.length?decodeURIComponent(S[1]):"",w=(0,s.useCallback)((t=>{let n=(new Date).toISOString();null!==h&&u&&(n=h);e({type:"socket/OBRequest",payload:{bucketName:_,path:t,rewindMode:u||m,date:n}})}),[_,m,h,u,e]),T=(0,s.useCallback)((function(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];e((0,d.cQ)({status:!1}));let n=O;O.endsWith("/")||""===O||(n=`${O.split("/").slice(0,-1).join("/")}/`),"/"===n&&(n=""),(n!==b||_!==f||t)&&(e((0,d.u)(!0)),w(n))}),[O,e,b,f,_,w]);(0,s.useEffect)((()=>()=>{e({type:"socket/OBCancelLast"})}),[e]),(0,s.useEffect)((()=>{e((0,d.vn)(!0)),O.endsWith("/")||""===O?(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)(O||"")))}),[_,O,h,u,e]),(0,s.useEffect)((()=>{T(!1)}),[T]),(0,s.useEffect)((()=>{j&&0===v.length&&!x&&T(!0)}),[j,v,x,T]);const y=(0,De.A)(_,[r.OV.S3_LIST_BUCKET,r.OV.S3_ALL_LIST_BUCKET])||g;return(0,s.useEffect)((()=>{c&&!g&&(y?a.F.buckets.getBucketVersioning(_).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)())))}),[_,c,e,y,g]),(0,s.useEffect)((()=>{p&&(y?a.F.buckets.getBucketObjectLockingStatus(_).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))))}),[_,p,e,y]),(0,C.jsxs)(s.Fragment,{children:[!g&&(0,C.jsx)(ze,{bucketName:_}),(0,C.jsx)(Ve,{})]})}},30718:(e,t,n)=>{n.r(t),n.d(t,{default:()=>_});var s=n(65043),o=n(22166),i=n(89923),a=n(61476),l=n.n(a),r=n(94141),d=n(24241),c=n(70579);const u=e=>{let{id:t,label:n,maxSeconds:o,entity:a,onChange:l}=e;const r=Math.floor(o/86400),u=Math.floor(o%86400/3600),h=Math.floor(o%3600/60),[m,x]=(0,s.useState)(0),[p,j]=(0,s.useState)(0),[b,g]=(0,s.useState)(0),[f,v]=(0,s.useState)(!0),[_,S]=(0,s.useState)(null);(0,s.useEffect)((()=>{x(r),j(u),g(h)}),[r,u,h]),(0,s.useEffect)((()=>{var e,t,n;isNaN(p)||isNaN(m)||isNaN(b)||S((e=m,t=p,n=b,d.c9.now().plus({hours:t+24*e,minutes:n}).toISO()))}),[m,p,b]),(0,s.useEffect)((()=>{if(f&&_){const e=d.c9.fromISO(_).toFormat("yyyy-MM-dd HH:mm:ss");l(e.split(" ").join("T"),!0)}else l("0000-00-00",!1)}),[_,l,f]),(0,s.useEffect)((()=>{let e=!0;(m<0||m>7||m>r||isNaN(m))&&(e=!1),(p<0||p>23||isNaN(p))&&(e=!1),(b<0||b>59||isNaN(b))&&(e=!1),m===r&&(p>u&&(e=!1),p===u&&b>h&&(e=!1)),m<=0&&p<=0&&b<=0&&(e=!1),v(e)}),[_,r,u,h,l,m,p,b]);const O={"& .textBoxContainer":{minWidth:0},"& input":{textAlign:"center",paddingRight:10,paddingLeft:10,width:40}};return(0,c.jsxs)(i.azJ,{className:"inputItem",children:[(0,c.jsx)(i.azJ,{sx:{display:"flex",alignItems:"center",marginBottom:5},children:(0,c.jsx)(i.l1Y,{htmlFor:t,children:n})}),(0,c.jsxs)(i.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,c.jsx)(i.azJ,{children:(0,c.jsx)(i.cl_,{id:t,className:"reverseInput removeArrows",type:"number",min:"0",max:"7",label:"Days",name:t,onChange:e=>{x(parseInt(e.target.value))},value:m.toString(),sx:O,noLabelMinWidth:!0})}),(0,c.jsx)(i.azJ,{children:(0,c.jsx)(i.cl_,{id:t,className:"reverseInput removeArrows",type:"number",min:"0",max:"23",label:"Hours",name:t,onChange:e=>{j(parseInt(e.target.value))},value:p.toString(),sx:O,noLabelMinWidth:!0})}),(0,c.jsx)(i.azJ,{children:(0,c.jsx)(i.cl_,{id:t,className:"reverseInput removeArrows",type:"number",min:"0",max:"59",label:"Minutes",name:t,onChange:e=>{g(parseInt(e.target.value))},value:b.toString(),sx:O,noLabelMinWidth:!0})})]}),(0,c.jsx)(i.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:f&&_?(0,c.jsxs)("div",{className:"validityText",children:[(0,c.jsx)(i.qYV,{}),(0,c.jsxs)("div",{children:[a," will be available until:"]})," ",(0,c.jsx)("div",{className:"validTill",children:d.c9.fromISO(_).toFormat("MM/dd/yyyy HH:mm:ss ZZZZ")})]}):(0,c.jsx)("div",{className:"invalidDurationText",children:"Please select a valid duration."})})]})};var h=n(56483),m=n(64159),x=n(21383),p=n(56629),j=n(53518),b=n(81708),g=n(6035),f=n(93950),v=n.n(f);const _=e=>{let{open:t,closeModalAndRefresh:n,bucketName:a,dataObject:d}=e;const f=(0,x.jL)(),_=(0,o.d4)(m.Rq),S=(0,o.d4)(g.yL),[O,w]=(0,s.useState)(""),[T,C]=(0,s.useState)(!0),[y,E]=(0,s.useState)(!1),[I,A]=(0,s.useState)(""),[N,k]=(0,s.useState)(!0),[B,F]=(0,s.useState)("null"),L=v()(((e,t)=>{k(t),t?A(e):(A(""),w(""))}),300);return(0,s.useEffect)((()=>{f((0,b.Ex)())}),[f]),(0,s.useEffect)((()=>{if(void 0===d.version_id)return _?(p.F.buckets.listObjects(a,{prefix:d.name||"",with_versions:_}).then((e=>{const t=(e.data.objects||[]).find((e=>e.is_latest));F(t?`${t.version_id}`:"null")})).catch((e=>{f((0,m.Dy)((0,j.S)(e.error)))})),void C(!1)):(F("null"),void C(!1));F(d.version_id||"null"),C(!1)}),[a,d,_,f]),(0,s.useEffect)((()=>{if(N&&!T){E(!0),w("");const e=new Date(`${I}`),t=new Date,n=Math.ceil((e.getTime()-t.getTime())/1e3);n>0&&p.F.buckets.shareObject(a,{prefix:d.name||"",version_id:B,expires:""!==I?`${n}s`:""}).then((e=>{w(e.data),E(!1)})).catch((e=>{f((0,m.Dy)((0,j.S)(e.error))),w(""),E(!1)}))}}),[d,I,a,N,w,f,_,T,B]),(0,c.jsx)(s.Fragment,{children:(0,c.jsxs)(r.A,{title:"Share File",titleIcon:(0,c.jsx)(i.liv,{style:{fill:"#4CCB92"}}),modalOpen:t,onClose:()=>{n()},children:[T&&(0,c.jsx)(i.xA9,{item:!0,xs:12,children:(0,c.jsx)(i.z21,{})}),!T&&(0,c.jsxs)(s.Fragment,{children:[(0,c.jsx)(i.xA9,{item:!0,xs:12,sx:{fontSize:14,fontWeight:400},children:(0,c.jsx)(i.m_M,{placement:"right",tooltip:(0,c.jsxs)("span",{children:["You can reset your session by logging out and logging back in to the web UI. ",(0,c.jsx)("br",{})," ",(0,c.jsx)("br",{}),"You can increase the maximum configuration time by setting the MINIO_STS_DURATION environment variable on all your nodes. ",(0,c.jsx)("br",{})," ",(0,c.jsx)("br",{}),"You can use ",(0,c.jsx)("b",{children:"mc share"})," as an alternative to this UI, where the session length does not limit the URL validity."]}),children:(0,c.jsxs)("span",{children:["The following URL lets you share this object without requiring a login. ",(0,c.jsx)("br",{}),"The URL expires automatically at the earlier of your configured time (",(0,h.K7)(S),") or the expiration of your current web session."]})})}),(0,c.jsx)("br",{}),(0,c.jsx)(i.xA9,{item:!0,xs:12,children:(0,c.jsx)(u,{id:"date",label:"Active for",maxSeconds:S,onChange:L,entity:"Link"})}),(0,c.jsx)(i.xA9,{item:!0,xs:12,sx:{marginBottom:10},children:(0,c.jsx)(i.EmB,{actionButton:(0,c.jsx)(l(),{text:O,children:(0,c.jsx)(i.$nd,{id:"copy-path",variant:"regular",onClick:()=>{f((0,m.h0)("Share URL Copied to clipboard"))},disabled:""===O||y,style:{width:"28px",height:"28px",padding:"0px"},icon:(0,c.jsx)(i.TdU,{})})}),children:O})})]})]})})}},37524:(e,t,n)=>{n.r(t),n.d(t,{default:()=>g});var s=n(65043),o=n(94141),i=n(89923),a=n(33097),l=n.n(a),r=n(93445),d=n(56629),c=n(79355),u=n(97806),h=n(6584),m=n(70579);c.EA.workerSrc="./scripts/pdf.worker.min.mjs";const x=e=>{let{path:t,loading:n,onLoad:o,downloadFile:a}=e;const[l,r]=(0,s.useState)(!1),[d,c]=(0,s.useState)(0);if(!t)return null;const x=d>5?5:d,p=Array.from(Array(x).keys());return(0,m.jsxs)(s.Fragment,{children:[l&&0===d&&(0,m.jsx)(i.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)(i.azJ,{sx:{display:"flex",justifyContent:"center",marginTop:12},children:(0,m.jsx)(i.$nd,{id:"download-preview",onClick:a,variant:"callAction",children:"Download File"})})]}),sx:{marginBottom:10}}),!n&&!l&&(0,m.jsx)(i.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)(i.azJ,{sx:{display:"flex",justifyContent:"center",marginTop:12},children:(0,m.jsx)(i.$nd,{id:"download-preview",onClick:a,variant:"callAction",children:"Download File"})})]}),sx:{marginBottom:10}}),!l&&(0,m.jsx)(i.azJ,{sx:{overflowY:"auto","& .react-pdf__Page__canvas":{margin:"0 auto",backgroundColor:"transparent"}},children:(0,m.jsx)(u.A,{file:t,onLoadSuccess:e=>{let{_pdfInfo:t}=e;c(t.numPages||0),r(!1),o()},onLoadError:e=>{r(!0),o(),console.error(e)},children:p.map((e=>(0,m.jsx)(h.A,{pageNumber:e+1,renderAnnotationLayer:!1,renderTextLayer:!1,renderForms:!1},`render-page-${e}`)))})})]})};var p=n(48245),j=n(21383);const b=e=>{let{bucketName:t,actualInfo:n,isFullscreen:o=!1}=e;const a=(0,j.jL)(),[c,u]=(0,s.useState)(!0),[h,b]=(0,s.useState)(null),[g,f]=(0,s.useState)(!1),v=(null===n||void 0===n?void 0:n.name)||"",_=(0,s.useCallback)((()=>{g||d.F.buckets.getObjectMetadata(t,{prefix:v,versionID:n.version_id||""}).then((e=>{let t=l()(e.data,"objectMetadata",{});f(!0),b(t)})).catch((e=>{console.error("Error Getting Metadata Status: ",e,null===e||void 0===e?void 0:e.detailedError),f(!0)}))}),[t,v,g,n.version_id]);(0,s.useEffect)((()=>{t&&v&&_()}),[t,v,_]);let S="";if(n){let e=document.baseURI.replace(window.location.origin,"");S=`${window.location.origin}${e}api/v1/buckets/${encodeURIComponent(t)}/objects/download?preview=true&prefix=${encodeURIComponent(n.name||"")}`,n.version_id&&(S=S.concat(`&version_id=${n.version_id}`))}let O=(0,r.IZ)(h,v);const w=()=>{u(!1)};return(0,m.jsxs)(s.Fragment,{children:["none"!==O&&c&&(0,m.jsx)(i.xA9,{item:!0,xs:12,children:(0,m.jsx)(i.z21,{})}),g?(0,m.jsxs)(i.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"===O&&(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:w,children:(0,m.jsx)("source",{src:S,type:"video/mp4"})}),"audio"===O&&(0,m.jsx)("audio",{style:{width:"100%",height:"auto"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:w,children:(0,m.jsx)("source",{src:S,type:"audio/mpeg"})}),"image"===O&&(0,m.jsx)("img",{style:{width:"auto",height:"auto",maxWidth:"100vw",maxHeight:"100vh"},src:S,alt:"preview",onLoad:w}),"pdf"===O&&(0,m.jsx)(s.Fragment,{children:(0,m.jsx)(x,{path:S,onLoad:w,loading:c,downloadFile:()=>(0,p._)(a,t,S,n)})}),"none"===O&&(0,m.jsx)("div",{children:(0,m.jsx)(i.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"!==O&&"video"!==O&&"audio"!==O&&"image"!==O&&"pdf"!==O&&(0,m.jsx)("div",{className:"iframeBase "+(c?"iframeHidden":""),children:(0,m.jsx)("iframe",{src:S,title:"File Preview",allowTransparency:!0,className:`iframeContainer ${o?"fullHeight":O}`,onLoad:w,children:"File couldn't be loaded. Please try Download instead"})})]}):null]})},g=e=>{let{open:t,bucketName:n,actualInfo:a,onClosePreview:l}=e;return(0,m.jsx)(s.Fragment,{children:(0,m.jsx)(o.A,{modalOpen:t,title:`Preview - ${null===a||void 0===a?void 0:a.name}`,onClose:l,wideLimit:!1,titleIcon:(0,m.jsx)(i.jG,{}),children:(0,m.jsx)(b,{bucketName:n,actualInfo:a})})})}},72237:(e,t,n)=>{n.d(t,{A:()=>i});var s=n(65043),o=n(70579);const i=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})})}}},25448:(e,t,n)=>{n.d(t,{A:()=>i});var s=n(65043),o=n(20649);const i=(e,t)=>{const[n,i]=(0,s.useState)(!1);return[n,(n,s,a,l)=>{i(!0),o.A.invoke(n,s,a,l).then((t=>{i(!1),e(t)})).catch((e=>{i(!1),t(e)}))}]}},94141:(e,t,n)=>{n.d(t,{A:()=>c});var s=n(65043),o=n(22166),i=n(89923),a=n(21383),l=n(64159),r=n(49555),d=n(70579);const c=e=>{let{onClose:t,modalOpen:n,title:c,children:u,wideLimit:h=!0,titleIcon:m=null,iconColor:x="default",sx:p}=e;const j=(0,a.jL)(),[b,g]=(0,s.useState)(!1),f=(0,o.d4)((e=>e.system.modalSnackBar));(0,s.useEffect)((()=>{j((0,l.h0)(""))}),[j]),(0,s.useEffect)((()=>{if(f){if(""===f.message)return void g(!1);"error"!==f.type&&g(!0)}}),[f]);let v="";return f&&(v=f.detailedErrorMsg,(""===v||v&&v.length<5)&&(v=f.message)),(0,d.jsxs)(i.ngX,{onClose:t,open:n,title:c,titleIcon:m,widthLimit:h,sx:p,iconColor:x,children:[(0,d.jsx)(r.A,{isModal:!0}),(0,d.jsx)(i.qb_,{onClose:()=>{g(!1),j((0,l.h0)(""))},open:b,message:v,mode:"inline",variant:"error"===f.type?"error":"default",autoHideDuration:"error"===f.type?10:5,condensed:!0}),u]})}},81708:(e,t,n)=>{n.d(t,{Ex:()=>p,HS:()=>h,mS:()=>m,op:()=>u,oz:()=>x});var s=n(80907),o=n(56483),i=n(37414),a=n(93445),l=n(6035),r=n(64159),d=n(24241),c=n(56629);const u=(0,s.zD)("objectBrowser/downloadSelected",(async(e,t)=>{let{getState:n,rejectWithValue:s,dispatch:c}=t;const u=n(),h=t=>{const n=encodeURIComponent(`${e}-${t.name}-${(new Date).getTime()}-${Math.random()}`),s=(0,i.E0)(8),o=(0,a.RG)(e,t.name,t.version_id,t.size,null,s,(e=>{c((0,l.DW)({instanceID:n,progress:e}))}),(()=>{c((0,l.rx)(n))}),(e=>{c((0,l.iL)({instanceID:n,msg:e}))}),(()=>{c((0,l.Dm)(n))}),(()=>{c((0,r.Hk)("File download will be handled directly by the browser."))}));(0,i.FP)(s,o),c((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 c((0,l.Ew)(t[0]));h(t[0])}else if(1===t.length)h(t[0]);else if(t.length>1){const n=`${d.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 ${null===t||void 0===t?void 0:t.name} from download.`),e}),[]);return void await(0,a.Fj)(e,s,n)}}})),h=(0,s.zD)("objectBrowser/openPreview",(async(e,t)=>{let{getState:n,rejectWithValue:s,dispatch:o}=t;const i=n();if(1===i.objectBrowser.selectedObjects.length){let e;const t=e=>i.objectBrowser.selectedObjects.includes(e.name);e=i.objectBrowser.records.find(t),e&&(o((0,l.go)(e)),o((0,l.xE)(!0)))}})),m=(0,s.zD)("objectBrowser/openShare",(async(e,t)=>{let{getState:n,rejectWithValue:s,dispatch:o}=t;const i=n();if(1===i.objectBrowser.selectedObjects.length){let e;const t=e=>i.objectBrowser.selectedObjects.includes(e.name);e=i.objectBrowser.records.find(t),e&&(o((0,l.go)(e)),o((0,l.Lf)(!0)))}})),x=(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 c.F.buckets.getMaxShareLinkExp().then((e=>{s((0,l.QV)(e.data.exp))})).catch((async e=>n(e.error)))}))},48245:(e,t,n)=>{n.d(t,{_:()=>r});var s=n(56483),o=n(37414),i=n(93445),a=n(6035),l=n(64159);const r=(e,t,n,r)=>{var d;const c=encodeURIComponent(`${t}-${r.name}-${(new Date).getTime()}-${Math.random()}`),u=(0,s.oK)().toLowerCase().includes("win");if(((null===(d=r.name)||void 0===d?void 0:d.length)||0)>200&&u)return void e((0,a.Jl)(!0));const h=(0,o.E0)(8),m=(0,i.RG)(t,n,r.version_id,r.size||0,null,h,(t=>{e((0,a.DW)({instanceID:c,progress:t}))}),(()=>{e((0,a.rx)(c))}),(t=>{e((0,a.iL)({instanceID:c,msg:t}))}),(()=>{e((0,a.Dm)(c))}),(()=>{e((0,l.Hk)("File download will be handled directly by the browser."))}));(0,o.FP)(h,m),e((0,a.cP)({ID:h,bucketName:t,done:!1,instanceID:c,percentage:0,prefix:r.name||"",type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))}}}]);
-//# sourceMappingURL=182.a230b8d1.chunk.js.map
\ No newline at end of file
+"use strict";(self.webpackChunkweb_app=self.webpackChunkweb_app||[]).push([[182,614],{30614:(e,t,n)=>{n.r(t),n.d(t,{default:()=>h});var s=n(65043),o=n(94141),i=n(89923),a=n(56629),l=n(53518),r=n(77403),d=n(64159),c=n(21383),u=n(70579);const h=e=>{let{modalOpen:t,onClose:n,bucket:h,prefilledRoute:m}=e;const x=(0,c.jL)(),[p,j]=(0,s.useState)(""),[b,g]=(0,s.useState)("readonly");(0,s.useEffect)((()=>{m&&j(m)}),[m]);return(0,u.jsx)(o.A,{modalOpen:t,title:"Add Anonymous Access Rule",onClose:n,titleIcon:(0,u.jsx)(i.No_,{}),children:(0,u.jsxs)(i.Hbc,{withBorders:!1,containerPadding:!1,children:[(0,u.jsx)(i.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)(i.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)(i.xA9,{item:!0,xs:12,sx:r.Uz.modalButtonBar,children:[(0,u.jsx)(i.$nd,{id:"clear",type:"button",variant:"regular",onClick:()=>{j(""),g("readonly")},label:"Clear"}),(0,u.jsx)(i.$nd,{id:"add-access-save",type:"submit",variant:"callAction",disabled:""===p.trim(),onClick:()=>{a.F.bucket.setAccessRuleWithBucket(h,{prefix:p,access:b}).then((e=>{x((0,d.Hk)("Access Rule added successfully")),n()})).catch((e=>{x((0,d.C9)((0,l.S)(e.error))),n()}))},label:"Save"})]})]})})}},182:(e,t,n)=>{n.r(t),n.d(t,{default:()=>Ge});var s=n(65043),o=n(22166),i=n(73216),a=n(56629),l=n(21383),r=n(99161),d=n(6035),c=n(33097),u=n.n(c),h=n(89923),m=n(53518),x=n(68424),p=n(24241),j=n(56483),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})))),i=e.substring(0,e.indexOf("/*."));return o&&(i===`arn:aws:s3:::${t}`&&"arn:aws:s3:::*"!==e)}))};var C=n(70579);const y=(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: ${h.nmC.lg}px)`]:{display:"none"}},"& .slashSpacingStyle":{margin:"0 5px"}}))),I=e=>{let{bucketName:t,internalPaths:n,hidePathButton:a,additionalOptions:c}=e;const u=(0,l.jL)(),m=(0,i.Zp)(),x=(0,o.d4)((e=>e.objectBrowser.rewind.rewindEnabled)),p=(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),[I,A]=(0,s.useState)(!1),N=[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=`/${n}`);const F=B.split("/").filter((e=>""!==e)),L=F.length-1,V=t+B||t,D=T(k,V,N);(0,s.useEffect)((()=>{A(!1),Object.keys(k).forEach((e=>{e.includes(V)&&e.includes("/*")&&A(!0)}))}),[V,n,k]);const R=(0,_._)([V,...D],N)||f||I;let P=F.map(((e,n)=>{const o=`${F.slice(0,n+1).join("/")}/`,i=`/browser/${encodeURIComponent(t)}/${o?`${encodeURIComponent(o)}`:""}`;return n===L&&e===b?null:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)("span",{className:"slashSpacingStyle",children:"/"}),n===L?(0,C.jsx)("span",{style:{cursor:"default",whiteSpace:"pre"},children:(0,j.Tw)(e)}):(0,C.jsx)(v.N_,{style:{whiteSpace:"pre"},to:i,onClick:()=>{u((0,d.cQ)({status:!1,objectName:""}))},children:(0,j.Tw)(e)})]},`breadcrumbs-${n.toString()}`)})),$=[];p&&($=[(0,C.jsx)(s.Fragment,{children:(0,C.jsxs)("span",{children:[(0,C.jsx)("span",{className:"slashSpacingStyle",children:"/"}),b," - Versions"]})},"breadcrumbs-versionedItem")]);const U=[(0,C.jsx)(s.Fragment,{children:(0,C.jsx)(v.N_,{to:`/browser/${t}`,onClick:()=>{u((0,d.cQ)({status:!1,objectName:""}))},children:t})},"breadcrumbs-root-path"),...P,...$];return(0,C.jsxs)(s.Fragment,{children:[(0,C.jsxs)(E,{children:[S&&(0,C.jsx)(y,{modalOpen:S,bucketName:t,folderName:n,onClose:()=>{w(!1)},limitedSubPath:I&&!((0,_._)([V,...D],N)||f)}),(0,C.jsx)(h.BIu,{sx:{whiteSpace:"pre"},goBackFunction:()=>{if(p)u((0,d.cQ)({status:!1,objectName:""}));else{if(0===F.length)return void m("/browser");const e=F.slice(0,-1);m(`/browser/${t}${e.length>0?`/${encodeURIComponent(`${e.join("/")}/`)}`:""}`)}},additionalOptions:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(g(),{text:`${t}/${F.join("/")}`,children:(0,C.jsx)(h.$nd,{id:"copy-path",icon:(0,C.jsx)(h.TdU,{style:{width:"12px",height:"12px",fill:"#969FA8",marginTop:-1}}),variant:"regular",onClick:()=>{u((0,O.Hk)("Path copied to clipboard"))},style:{width:"28px",height:"28px",color:"#969FA8",border:"#969FA8 1px solid",marginRight:5}})}),(0,C.jsx)(h.azJ,{className:"additionalOptions",children:c})]}),children:U}),!a&&(0,C.jsx)(h.m_M,{tooltip:R?"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,C.jsx)(h.$nd,{id:"new-path",onClick:()=>{w(!0)},disabled:!f&&(x||!R),icon:(0,C.jsx)(h.pj3,{style:{fill:"#969FA8"}}),style:{whiteSpace:"nowrap"},variant:"regular",label:"Create new path"})})]}),(0,C.jsx)(h.azJ,{sx:{display:"none",marginTop:15,marginBottom:5,justifyContent:"flex-start","& > div":{fontSize:12,fontWeight:"normal",flexDirection:"row",flexWrap:"nowrap"},[`@media (max-width: ${h.nmC.lg}px)`]:{display:"flex"}},children:c})]})};var A=n(93445);const N=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:i=!1,uploadFileFunction:a,uploadFolderFunction:l,overrideStyles:d={}}=e;const[c,u]=(0,s.useState)(null),[m,x]=(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(c),v=()=>{u(null)},S=(0,_._)([t,...g],b)||p,O=(0,_._)([n,...g],b,!1,!0),w=S||O;return(0,C.jsxs)(s.Fragment,{children:[(0,C.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,C.jsx)(h.$nd,{id:"upload-main","aria-controls":"upload-main-menu","aria-haspopup":"true","aria-expanded":f?"true":void 0,onClick:e=>{x(!m),u(e.currentTarget)},label:"Upload",icon:(0,C.jsx)(h.JMY,{}),variant:"callAction",disabled:i||!w,sx:d})}),(0,C.jsx)(h.Vey,{id:"upload-main-menu",options:[{label:"Upload File",icon:(0,C.jsx)(h.JMY,{}),value:"file",disabled:!S||i},{label:"Upload Folder",icon:(0,C.jsx)(h.nDF,{}),value:"folder",disabled:!O||i}],selectedOption:"",onSelect:e=>{"folder"!==e?a(v):l(v)},hideTriggerAction:()=>{x(!1)},open:m,anchorEl:c,anchorOrigin:"end",useAnchorWidth:!0})]})},D=e=>{let{open:t,closePanel:n,className:s="",children:o}=e;return(0,C.jsxs)(h.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:`${t?"open":""} ${s}`,children:[(0,C.jsx)(h.$nd,{variant:"text",id:"close-details-list",onClick:n,icon:(0,C.jsx)(h._FR,{}),sx:{position:"absolute",right:5,top:18,padding:0,height:14,"&:hover:not(:disabled)":{backgroundColor:"transparent"}}}),o]})};var R=n(48245);const P=e=>{let{icon:t,strings:n}=e;return(0,C.jsxs)(h.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,C.jsx)("span",{className:"fileNameText",children:(0,j.qf)(n[n.length-1])})]})},$=[{icon:(0,C.jsx)(h.FRZ,{}),extensions:["mp4","mov","avi","mpeg","mpg"]},{icon:(0,C.jsx)(h.jCy,{}),extensions:["mp3","m4a","aac"]},{icon:(0,C.jsx)(h.yTC,{}),extensions:["pdf"]},{icon:(0,C.jsx)(h.QvW,{}),extensions:["ppt","pptx"]},{icon:(0,C.jsx)(h.z9t,{}),extensions:["xls","xlsx"]},{icon:(0,C.jsx)(h.VSs,{}),extensions:["cer","crt","pem"]},{icon:(0,C.jsx)(h.bM2,{}),extensions:["html","xml","css","py","go","php","cpp","h","java"]},{icon:(0,C.jsx)(h.qM2,{}),extensions:["cfg","yaml"]},{icon:(0,C.jsx)(h.ITz,{}),extensions:["sql"]},{icon:(0,C.jsx)(h.PcO,{}),extensions:["ttf","otf"]},{icon:(0,C.jsx)(h.yEV,{}),extensions:["doc","docx","txt","rtf"]},{icon:(0,C.jsx)(h.j_m,{}),extensions:["zip","rar","tar","gz"]},{icon:(0,C.jsx)(h.DUd,{}),extensions:["epub","mobi","azw","azw3"]},{icon:(0,C.jsx)(h.nLN,{}),extensions:["jpeg","jpg","gif","tiff","png","heic","dng"]}],U=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=e,s=(0,C.jsx)(h.KlI,{});e.endsWith("/")&&(s=(0,C.jsx)(h.kez,{}),n=e.slice(0,-1));const o=e.toLowerCase();for(const a of $)for(const e of a.extensions)o.endsWith(`.${e}`)&&(s=a.icon);!e.endsWith("/")&&e.indexOf(".")<0&&(s=(0,C.jsx)(h.YJK,{}));const i=n.split("/");return t?s:(0,C.jsx)(P,{icon:s,strings:i})};var z=n(37524);const G=e=>{let{metaData:t}=e;const n=Object.keys(t);return(0,C.jsx)(s.Fragment,{children:n.map(((e,n)=>{const s=(e=>Array.isArray(e)?e.map(j.Tw).join(", "):(0,j.Tw)(e))(t[e]);return(0,C.jsxs)(h.azJ,{sx:{marginBottom:15,fontSize:14,maxHeight:180,overflowY:"auto"},children:[(0,C.jsx)("strong",{children:e}),(0,C.jsx)("br",{}),s]},`box-meta-${e}-${n.toString()}`)}))})};var M=n(30718),J=n(85330),K=n(77403);const W=[{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"}],H=Array.from(Array(31),((e,t)=>({value:(t+1).toString(),label:(t+1).toString()}))),Y=(new Date).getFullYear(),Z=Array.from(Array(50),((e,t)=>({value:(t+Y).toString(),label:(t+Y).toString()})));var q=n(94141);const Q=(0,s.forwardRef)(((e,t)=>{let{id:n,label:o,disableOptions:i=!1,tooltip:a="",borderBottom:l=!1,onDateChange:r,value:d=""}=e;(0,s.useImperativeHandle)(t,(()=>({resetDate:b})));const[c,u]=(0,s.useState)(""),[m,x]=(0,s.useState)(""),[p,j]=(0,s.useState)("");(0,s.useEffect)((()=>{if(""!==d){const e=d.split("-");j(e[0]),u(e[1]),x(`${parseInt(e[2])}`)}}),[d]),(0,s.useEffect)((()=>{const[e,t]=((e,t,n)=>{const s=Date.parse(`${e}-${t}-${n}`);if(isNaN(s))return[!1,""];const o=parseInt(t),i=parseInt(n),a=`${e}-${o<10?`0${o}`:o}-${i<10?`0${i}`:i}`;return[new Date(s).toISOString().split("T")[0]===a,a]})(p,c,m);r(t,e)}),[c,m,p,r]);const b=()=>{u(""),x(""),j("")},g=()=>i||!1,f=[{value:"",label:""},...W],v=[{value:"",label:""},...H],_=[{value:"",label:""},...Z];return(0,C.jsxs)(h.azJ,{className:"inputItem",children:[(0,C.jsx)(h.azJ,{sx:{display:"flex",alignItems:"center",gap:5,marginBottom:5},children:(0,C.jsxs)(h.l1Y,{htmlFor:n,children:[(0,C.jsx)("span",{children:o}),""!==a&&(0,C.jsx)(h.azJ,{sx:{marginLeft:5,display:"flex",alignItems:"center","& .min-icon":{width:13}},children:(0,C.jsx)(h.m_M,{tooltip:a,placement:"top",children:(0,C.jsx)(h.azJ,{sx:{"& .min-icon":{width:13}},children:(0,C.jsx)(h.NTw,{})})})})]})}),(0,C.jsxs)(h.azJ,{sx:{display:"flex",gap:12},children:[(0,C.jsx)(h.l6P,{id:`${n}-month`,name:`${n}-month`,value:c,onChange:e=>{u(e)},options:f,label:"",disabled:g()}),(0,C.jsx)(h.l6P,{id:`${n}-day`,name:`${n}-day`,value:m,onChange:e=>{x(e)},options:v,label:"",disabled:g()}),(0,C.jsx)(h.l6P,{id:`${n}-year`,name:`${n}-year`,value:p,onChange:e=>{j(e)},options:_,label:"",disabled:g(),sx:{marginBottom:12}})]})]})})),X=e=>{let{open:t,closeModalAndRefresh:n,objectName:i,objectInfo:r,bucketName:d}=e;const c=(0,l.jL)(),u=(0,o.d4)((e=>e.objectBrowser.retentionConfig)),[x,p]=(0,s.useState)(!0),[j,b]=(0,s.useState)(""),[g,f]=(0,s.useState)(""),[v,_]=(0,s.useState)(!1),[S,w]=(0,s.useState)(!1),[T,y]=(0,s.useState)(!1);(0,s.useEffect)((()=>{if(r.retention_mode&&(b((null===u||void 0===u?void 0:u.mode)||J.BT.Governance),y(!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${e}`:`${e}`,o=t.getDate();isNaN(o)||"NaN"===s||isNaN(n)||f(`${n}-${s}-${o}`)}y(!0)}var e}),[r,null===u||void 0===u?void 0:u.mode]);const E=(0,s.useRef)(null),I=()=>{p(!1),b(J.BT.Governance),E.current&&E.current.resetDate()},A=T&&("governance"===j||""===j);return(0,C.jsx)(q.A,{title:"Set Retention Policy",modalOpen:t,onClose:()=>{I(),n(!1)},children:(0,C.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault()})(e)},children:(0,C.jsxs)(h.Hbc,{withBorders:!1,containerPadding:!1,children:[(0,C.jsxs)(h.azJ,{className:"inputItem",children:[(0,C.jsx)("strong",{children:"Selected Object"}),": ",i]}),A&&(0,C.jsx)(h.dOG,{value:"status",id:"status",name:"status",checked:x,onChange:e=>{p(!x)},label:"Status",indicatorLabels:["Enabled","Disabled"]}),(0,C.jsx)(h.z6M,{currentValue:j,id:"type",name:"type",label:"Type",disableOptions:!x||T&&""!==j,onChange:e=>{b(e.target.value)},selectorOptions:[{label:"Governance",value:J.BT.Governance},{label:"Compliance",value:J.BT.Compliance}]}),(0,C.jsx)(Q,{id:"date",label:"Date",disableOptions:!(x&&("governance"===j||"compliance"===j)),ref:E,value:g,borderBottom:!0,onDateChange:(e,t)=>{_(t),t&&f(e)}}),(0,C.jsxs)(h.xA9,{item:!0,xs:12,sx:K.Uz.modalButtonBar,children:[(0,C.jsx)(h.$nd,{id:"reset",type:"button",variant:"regular",onClick:I,label:"Reset"}),(0,C.jsx)(h.$nd,{id:"save",type:"submit",variant:"callAction",disabled:x&&""===j||x&&!v||S,onClick:()=>{w(!0);const e=r.name||"",t=r.version_id||null;x||"governance"!==j?((e,t,s)=>{a.F.buckets.putObjectRetention(d,{prefix:e,version_id:t||""},{expires:s,mode:j}).then((()=>{w(!1),n(!0)})).catch((e=>{c((0,O.Dy)((0,m.S)(e.error))),w(!1)}))})(e,t,x||"governance"!==j?`${g}T23:59:59Z`:""):((e,t)=>{a.F.buckets.deleteObjectRetention(d,{prefix:e,version_id:t||""}).then((()=>{w(!1),n(!0)})).catch((e=>{c((0,O.Dy)((0,m.S)(e.error))),w(!1)}))})(e,t)},label:"Save"})]})]})})})};var ee=n(58661),te=n(25448);const ne=e=>{let{closeDeleteModalAndRefresh:t,deleteOpen:n,selectedBucket:i,selectedObject:a,versioningInfo:d,selectedVersion:c=""}=e;const u=(0,l.jL)(),[m,x]=(0,te.A)((()=>t(!0)),(e=>{u((0,O.C9)(e)),"Access Denied."===e.detailedError&&t(!0)})),[p,j]=(0,s.useState)(!1),[b,g]=(0,s.useState)(!1),f=(0,o.d4)((e=>e.objectBrowser.retentionConfig)),v=(0,_._)([i],[r.OV.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===f||void 0===f?void 0:f.mode);if(!a)return null;return(0,C.jsx)(ee.A,{title:"Delete Object",confirmText:"Delete",isOpen:n,titleIcon:(0,C.jsx)(h.xWY,{}),isLoading:m,onConfirm:()=>{const e=a.endsWith("/");x("DELETE",`/api/v1/buckets/${encodeURIComponent(i)}/objects?prefix=${encodeURIComponent(a)}${""!==c?`&version_id=${encodeURIComponent(c)}`:`&recursive=${e}&all_versions=${p}`}${b?"&bypass=true":""}`)},onClose:()=>t(!1),confirmationContent:(0,C.jsxs)(s.Fragment,{children:["Are you sure you want to delete: ",(0,C.jsx)("br",{}),(0,C.jsx)("b",{children:a})," ",""!==c?(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)("br",{}),(0,C.jsx)("br",{}),"Version ID:",(0,C.jsx)("br",{}),(0,C.jsx)("strong",{children:c})]}):"","? ",(0,C.jsx)("br",{}),(0,C.jsx)("br",{}),N(null===d||void 0===d?void 0:d.status)&&""===c&&(0,C.jsx)(s.Fragment,{children:(0,C.jsx)(h.dOG,{label:"Delete All Versions",indicatorLabels:["Yes","No"],checked:p,value:"delete_versions",id:"delete-versions",name:"delete-versions",onChange:e=>{j(!p)},description:""})}),v&&(p||""!==c)&&(0,C.jsx)(s.Fragment,{children:(0,C.jsx)("div",{style:{marginTop:10},children:(0,C.jsx)(h.dOG,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:b,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:e=>{g(!b)},description:""})})}),p&&(0,C.jsxs)(s.Fragment,{children:[(0,C.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,C.jsx)("br",{}),"This action is irreversible."]}),(0,C.jsx)("br",{}),"Are you sure you want to continue?"]})]})})},se=e=>{let{open:t,closeModalAndRefresh:n,objectName:o,bucketName:i,actualInfo:r}=e;const d=(0,l.jL)(),[c,x]=(0,s.useState)(!1),[p,j]=(0,s.useState)(!1),b=r.version_id;(0,s.useEffect)((()=>{const e=u()(r,"legal_hold_status","OFF");x("ON"===e)}),[r]);const g=()=>{x(!1)};return(0,C.jsx)(q.A,{title:"Set Legal Hold",modalOpen:t,onClose:()=>{g(),n(!1)},children:(0,C.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault(),j(!0),a.F.buckets.putObjectLegalHold(i,{prefix:o,version_id:b||""},{status:c?J.SW.Enabled:J.SW.Disabled}).then((()=>{j(!1),n(!0)})).catch((e=>{d((0,O.Dy)((0,m.S)(e.error))),j(!1)}))})(e)},children:(0,C.jsxs)(h.Hbc,{withBorders:!1,containerPadding:!1,children:[(0,C.jsxs)(h.azJ,{className:"inputItem",children:[(0,C.jsx)("strong",{children:"Object"}),": ",i+"/"+o]}),(0,C.jsx)(h.dOG,{value:"legalhold",id:"legalhold",name:"legalhold",checked:c,onChange:e=>{x(!c)},label:"Legal Hold Status",indicatorLabels:["Enabled","Disabled"],tooltip:"To enable this feature you need to enable versioning on the bucket before creation"}),(0,C.jsxs)(h.xA9,{item:!0,xs:12,sx:K.Uz.modalButtonBar,children:[(0,C.jsx)(h.$nd,{id:"clear",type:"button",variant:"regular",onClick:g,label:"Clear"}),(0,C.jsx)(h.$nd,{id:"save",type:"submit",variant:"callAction",disabled:p,label:" Save"})]})]})})})},oe=f.Ay.b((e=>{let{theme:t}=e;return{color:u()(t,"signalColors.danger","#C83B51"),marginLeft:5}})),ie=e=>{var t;let{modalOpen:n,onCloseAndUpdate:i,bucketName:d,actualInfo:c}=e;const x=(0,l.jL)(),p=(0,o.d4)(O.Rq),[j,b]=(0,s.useState)(""),[g,f]=(0,s.useState)(""),[v,S]=(0,s.useState)(!1),[w,T]=(0,s.useState)(!1),[y,E]=(0,s.useState)(""),[I,A]=(0,s.useState)(""),N=c.tags,k=Object.keys(N||{}),B=null===(t=c.name)||void 0===t?void 0:t.split("/"),F=(null===B||void 0===B?void 0:B.pop())||"",L=e=>(0,C.jsxs)(h.azJ,{sx:{fontSize:16,margin:"20px 0 30px",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",width:"100%"},children:["Tag",e?"s":""," for: ",(0,C.jsx)("strong",{children:F})]});return(0,C.jsx)(s.Fragment,{children:(0,C.jsx)(q.A,{modalOpen:n,title:w?"Delete Tag":"Edit Tags",onClose:()=>{i(!0)},iconColor:w?"delete":"default",titleIcon:w?(0,C.jsx)(h.aaC,{}):(0,C.jsx)(h.cGQ,{}),children:w?(0,C.jsx)(s.Fragment,{children:(0,C.jsxs)(h.xA9,{container:!0,children:[L(!1),"Are you sure you want to delete the tag"," ",(0,C.jsxs)(oe,{children:[y," : ",I]})," ","?",(0,C.jsxs)(h.xA9,{item:!0,xs:12,sx:K.Uz.modalButtonBar,children:[(0,C.jsx)(h.$nd,{id:"cancel",type:"button",variant:"regular",onClick:()=>{E(""),A(""),T(!1)},label:"Cancel"}),(0,C.jsx)(h.$nd,{type:"submit",variant:"secondary",onClick:()=>{const e={...N};delete e[y];const t=p?c.version_id||"":"null";a.F.buckets.putObjectTags(d,{prefix:c.name||"",version_id:t},{tags:e}).then((()=>{i(!0),S(!1)})).catch((e=>{x((0,O.Dy)((0,m.S)(e.error))),S(!1)}))},id:"deleteTag",label:"Delete Tag"})]})]})}):(0,C.jsxs)(h.azJ,{children:[(0,C.jsx)(_.R,{scopes:[r.OV.S3_GET_OBJECT_TAGGING,r.OV.S3_GET_ACTIONS],resource:d,children:(0,C.jsxs)(h.azJ,{sx:{display:"flex",flexFlow:"column",width:"100%"},children:[L(!0),(0,C.jsxs)(h.azJ,{sx:{fontSize:14,fontWeight:"normal"},children:["Current Tags:",(0,C.jsx)("br",{}),0===k.length?(0,C.jsx)("span",{className:"muted",children:"There are no tags for this object"}):(0,C.jsx)(s.Fragment,{}),(0,C.jsx)(h.azJ,{sx:{marginTop:"5px",marginBottom:"15px"},children:k.map(((e,t)=>{const n=u()(N,`${e}`,"");return""!==n?(0,C.jsx)(_.R,{scopes:[r.OV.S3_DELETE_OBJECT_TAGGING],resource:d,errorProps:{deleteIcon:null,onDelete:null},children:(0,C.jsx)(h.vwO,{id:`${e} : ${n}`,label:`${e} : ${n}`,variant:"regular",color:"default",onDelete:()=>{((e,t)=>{E(e),A(t),T(!0)})(e,n)}})},`chip-${t}`):null}))})]})]})}),(0,C.jsx)(_.R,{scopes:[r.OV.S3_PUT_OBJECT_TAGGING,r.OV.S3_PUT_ACTIONS],resource:d,errorProps:{disabled:!0,onClick:null},children:(0,C.jsxs)(h.azJ,{children:[(0,C.jsx)(h._xt,{icon:(0,C.jsx)(h.b_$,{}),separator:!1,children:"Add New Tag"}),(0,C.jsxs)(h.Hbc,{containerPadding:!1,withBorders:!1,children:[(0,C.jsx)(h.cl_,{value:j,label:"Tag Key",id:"newTagKey",name:"newTagKey",placeholder:"Enter Tag Key",onChange:e=>{b(e.target.value)}}),(0,C.jsx)(h.cl_,{value:g,label:"Tag Label",id:"newTagLabel",name:"newTagLabel",placeholder:"Enter Tag Label",onChange:e=>{f(e.target.value)}}),(0,C.jsxs)(h.xA9,{item:!0,xs:12,sx:K.Uz.modalButtonBar,children:[(0,C.jsx)(h.$nd,{id:"clear",type:"button",variant:"regular",color:"primary",onClick:()=>{f(""),b("")},label:"Clear"}),(0,C.jsx)(h.$nd,{type:"submit",variant:"callAction",disabled:""===g.trim()||""===j.trim()||v,onClick:()=>{S(!0);const e={};e[j]=g;const t={...N,...e},n=p?c.version_id||"":"null";a.F.buckets.putObjectTags(d,{prefix:c.name||"",version_id:n},{tags:t}).then((()=>{i(!0),S(!1)})).catch((e=>{x((0,O.Dy)((0,m.S)(e.error))),S(!1)}))},id:"saveTag",label:"Save"})]})]})]})})]})})})},ae=e=>{let{value:t}=e;const[n,o]=(0,s.useState)(!1);return(0,C.jsxs)(h.azJ,{sx:{display:"flex",alignItems:"center",flexFlow:"row",[`@media (max-width: ${h.nmC.sm}px)`]:{flexFlow:"column"}},children:[(0,C.jsx)(h.cl_,{id:"inspect-dec-key",name:"inspect-dec-key",placeholder:"",label:"",type:n?"text":"password",onChange:()=>{},value:t,overlayIcon:(0,C.jsx)(h.TdU,{}),readOnly:!0,overlayAction:()=>navigator.clipboard.writeText(t)}),(0,C.jsx)(h.$nd,{id:"show-hide-key",style:{marginLeft:"10px"},variant:"callAction",onClick:()=>o(!n),label:"Show/Hide"})]})},le=e=>{let{closeInspectModalAndRefresh:t,inspectOpen:n,inspectPath:o,volumeName:i}=e;const a=(0,l.jL)(),r=()=>t(!1),[d,c]=(0,s.useState)(!0),[u,m]=(0,s.useState)(""),[x,p]=(0,s.useState)("");if(!o)return null;return(0,C.jsxs)(s.Fragment,{children:[!u&&(0,C.jsx)(q.A,{modalOpen:n,titleIcon:(0,C.jsx)(h.nTF,{}),title:"Inspect Object",onClose:r,children:(0,C.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault()})(e)},children:["Would you like to encrypt ",(0,C.jsx)("b",{children:o}),"? ",(0,C.jsx)("br",{}),(0,C.jsx)(h.dOG,{label:"Encrypt",indicatorLabels:["Yes","No"],checked:d,value:"encrypt",id:"encrypt",name:"encrypt",onChange:e=>{c(!d)},description:""}),(0,C.jsx)(h.xA9,{item:!0,xs:12,sx:K.Uz.modalButtonBar,children:(0,C.jsx)(h.$nd,{id:"inspect",type:"submit",variant:"callAction",color:"primary",onClick:async()=>{let e=document.baseURI.replace(window.location.origin,"");(async e=>await fetch(e,{method:"GET"}))(`${window.location.origin}${e}/api/v1/admin/inspect?volume=${encodeURIComponent(i)}&file=${encodeURIComponent(o+"/xl.meta")}&encrypt=${d}`).then((async e=>{if(!e.ok){const t=await e.json();a((0,O.C9)({errorMessage:t.message,detailedError:t.code}))}const t=await e.blob(),n=e.headers.get("content-disposition").split('"')[1],s=(0,j.UM)(n)||"";(0,j.OT)(t,n),p(n),""!==s?m(s):r()})).catch((e=>{a((0,O.C9)(e))}))},label:"Inspect"})})]})}),u?(0,C.jsxs)(q.A,{modalOpen:n,title:"Inspect Decryption Key",onClose:()=>{(0,j.Yj)(x),r(),m("")},titleIcon:(0,C.jsx)(h.aJN,{}),children:[(0,C.jsxs)(h.azJ,{children:["This will be displayed only once. It cannot be recovered.",(0,C.jsx)("br",{}),"Use secure medium to share this key."]}),(0,C.jsx)(h.azJ,{children:(0,C.jsx)(ae,{value:u})})]}):null]})},re=e=>{let{open:t,closeModal:n,currentItem:o,internalPaths:i,actualInfo:a,bucketName:r}=e;const d=(0,l.jL)(),[c,u]=(0,s.useState)(o),[m,x]=(0,s.useState)(!1);return(0,C.jsxs)(q.A,{title:"Rename Download",modalOpen:t,onClose:n,titleIcon:(0,C.jsx)(h.qUP,{}),children:[(0,C.jsxs)("div",{children:["The file you are trying to download has a long name.",(0,C.jsx)("br",{}),"This can cause issues on Windows Systems by trimming the file name after download.",(0,C.jsx)("br",{}),(0,C.jsx)("br",{})," We recommend to rename the file download"]}),(0,C.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:e=>{(e=>{e.preventDefault(),(0,R._)(d,r,i,a),n()})(e)},children:(0,C.jsxs)(h.Hbc,{withBorders:!1,containerPadding:!1,children:[(0,C.jsx)(h.cl_,{id:"download-filename",name:"download-filename",onChange:e=>{u(e.target.value)},label:"",type:"text",value:c,error:c.length>200&&!m?"Filename should be less than 200 characters long.":""}),(0,C.jsx)(h.dOG,{value:"acceptLongName",id:"acceptLongName",name:"acceptLongName",checked:m,onChange:e=>{x(e.target.checked),e.target.checked&&u(o)},label:"Use Original Name"}),(0,C.jsx)(h.xA9,{item:!0,xs:12,sx:K.Uz.modalButtonBar,children:(0,C.jsx)(h.$nd,{id:"download-file",type:"submit",variant:"callAction",color:"primary",disabled:c.length>200&&!m,label:"Download File"})})]})})]})},de={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:0,tags:{},version_id:void 0},ce=e=>{let{internalPaths:t,bucketName:n,versioningInfo:i,locking:c,onClosePanel:m}=e;const x=(0,l.jL)(),p=(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),[y,E]=(0,s.useState)(!1),[I,N]=(0,s.useState)(!1),[k,B]=(0,s.useState)(!1),[F,V]=(0,s.useState)(null),[D,P]=(0,s.useState)([]),[$,J]=(0,s.useState)(null),[K,W]=(0,s.useState)([]),[H,Y]=(0,s.useState)(!1),[Z,q]=(0,s.useState)(!1),[Q,ee]=(0,s.useState)(0),[te,oe]=(0,s.useState)(!1),[ae,ce]=(0,s.useState)(null),[ue,he]=(0,s.useState)(!1),me=(t||"").split("/").pop()||"";let xe=[];F&&F.name&&(xe=F.name.split("/")),(0,s.useEffect)((()=>{if(p&&D&&D.length>=1){let e=D.find((e=>e.is_latest))||de;""!==g&&(e=D.find((e=>e.version_id===g))||de),e.is_delete_marker||he(!0),V(e)}}),[g,p,D]),(0,s.useEffect)((()=>{f&&""!==t&&a.F.buckets.listObjects(n,{prefix:t,with_versions:p}).then((e=>{const t=e.data.objects||[];if(p){P(t),W(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),W([]),e.is_delete_marker||he(!0)}x((0,d.oe)(!1))})).catch((e=>{console.error("Error loading object details",e.error),x((0,d.oe)(!1))}))}),[f,n,t,x,p,g]),(0,s.useEffect)((()=>{ue&&""!==t&&a.F.buckets.getObjectMetadata(n,{prefix:t,versionID:(null===F||void 0===F?void 0:F.version_id)||""}).then((e=>{let t=u()(e.data,"objectMetadata",{});ce(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,C.jsx)("div",{style:{textAlign:"center",marginTop:35},children:(0,C.jsx)(h.aHM,{})});if(!F)return f?je:null;const be=xe.length>0?xe[xe.length-1]:F.name,ge=[n,me,[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,me,[n,F.name].join("/")],[r.OV.S3_DELETE_OBJECT]);let Ce=(0,A.IZ)(ae,me);const ye=[{action:()=>{(0,R._)(x,n,t,F)},label:"Download",disabled:!!F.is_delete_marker||!we,icon:(0,C.jsx)(h.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,C.jsx)(h.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"===Ce&&!we,icon:(0,C.jsx)(h.cyn,{}),tooltip:we?"Preview this File":(0,r.vj)([r.OV.S3_GET_OBJECT,r.OV.S3_GET_ACTIONS],"preview this object")},{action:()=>{N(!0)},label:"Legal Hold",disabled:!c||!p||!!F.is_delete_marker||!fe||""!==g,icon:(0,C.jsx)(h.ODz,{}),tooltip:fe?c?"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:!p||!!F.is_delete_marker||!_e||""!==g||!c,icon:(0,C.jsx)(h.gn6,{}),tooltip:_e?c?"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,C.jsx)(h.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:!p||!!F.is_delete_marker||""!==g||!Se,icon:(0,C.jsx)(h.nTF,{}),tooltip:Se?"Inspect this file":(0,r.vj)([r.OV.ADMIN_INSPECT_DATA],"inspect this file")},{action:()=>{x((0,d.cQ)({status:!b,objectName:be}))},label:b?"Hide Object Versions":"Display Object Versions",icon:(0,C.jsx)(h.j1U,{}),disabled:!p||!(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,C.jsxs)(s.Fragment,{children:[v&&F&&(0,C.jsx)(M.default,{open:v,closeModalAndRefresh:()=>{J(null),S(!1)},bucketName:n,dataObject:$||F}),w&&F&&(0,C.jsx)(X,{open:w,closeModalAndRefresh:e=>{T(!1),e&&x((0,d.oe)(!0))},objectName:me,objectInfo:F,bucketName:n}),H&&(0,C.jsx)(ne,{deleteOpen:H,selectedBucket:n,selectedObject:t,closeDeleteModalAndRefresh:e=>{Y(!1),e&&""===g?m(!0):(x((0,d.SK)(!0)),x((0,d.Ai)("")),x((0,d.oe)(!0)))},versioningInfo:p?i:void 0,selectedVersion:g}),I&&F&&(0,C.jsx)(se,{open:I,closeModalAndRefresh:e=>{N(!1),e&&x((0,d.oe)(!0))},objectName:F.name||"",bucketName:n,actualInfo:F}),Z&&F&&(0,C.jsx)(z.default,{open:Z,bucketName:n,actualInfo:F,onClosePreview:()=>{q(!1)}}),y&&F&&(0,C.jsx)(ie,{modalOpen:y,bucketName:n,actualInfo:F,onCloseAndUpdate:e=>{E(!1),e&&x((0,d.oe)(!0))}}),k&&F&&(0,C.jsx)(le,{inspectOpen:k,volumeName:n,inspectPath:F.name||"",closeInspectModalAndRefresh:e=>{B(!1),e&&x((0,d.oe)(!0))}}),te&&F&&(0,C.jsx)(re,{open:te,closeModal:()=>{oe(!1)},currentItem:me,bucketName:n,internalPaths:t,actualInfo:F}),f?(0,C.jsx)(s.Fragment,{children:je}):(0,C.jsxs)(h.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,C.jsx)(h.Smc,{title:(0,C.jsxs)("div",{className:"ObjectDetailsTitle",children:[U(be||"",!0),(0,C.jsx)("span",{className:"objectNameContainer",children:be})]}),items:ye}),(0,C.jsx)(L.A,{tooltip:Te?"":(0,r.vj)([r.OV.S3_DELETE_OBJECT],"delete this object"),children:(0,C.jsx)(h.xA9,{item:!0,xs:12,sx:{justifyContent:"center",display:"flex"},children:(0,C.jsx)(_.R,{resource:[n,me,[n,F.name].join("/")],scopes:[r.OV.S3_DELETE_OBJECT],errorProps:{disabled:!0},children:(0,C.jsx)(h.$nd,{id:"delete-element-click",icon:(0,C.jsx)(h.d7y,{}),iconLocation:"start",fullWidth:!0,variant:"secondary",onClick:()=>{Y(!0)},disabled:""===g&&F.is_delete_marker,sx:{width:"calc(100% - 44px)",margin:"8px 0"},label:"Delete"+(""!==g?" version":"")})})})}),(0,C.jsx)(h.kCK,{icon:(0,C.jsx)(h.Hch,{}),label:"Object Info"}),(0,C.jsxs)(h.azJ,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Name:"}),(0,C.jsx)("br",{}),(0,C.jsx)("div",{style:{overflowWrap:"break-word"},children:be})]}),""!==g&&(0,C.jsxs)(h.azJ,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Version ID:"}),(0,C.jsx)("br",{}),g]}),(0,C.jsxs)(h.azJ,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Size:"}),(0,C.jsx)("br",{}),(0,j.nO)(`${F.size||"0"}`)]}),F.version_id&&"null"!==F.version_id&&""===g&&(0,C.jsxs)(h.azJ,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Versions:"}),(0,C.jsx)("br",{}),K.length," version",1!==K.length?"s":"",","," ",(0,j.qO)(Q)]}),""===g&&(0,C.jsxs)(h.azJ,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Last Modified:"}),(0,C.jsx)("br",{}),(e=>{const t=new Date,n=new Date(e),s=t.getTime()-n.getTime(),o=(0,j.eQ)(s,"ms");return""!==o.trim()?`${o} ago`:"Just now"})(F.last_modified||"")]}),(0,C.jsxs)(h.azJ,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"ETAG:"}),(0,C.jsx)("br",{}),F.etag||"N/A"]}),(0,C.jsxs)(h.azJ,{className:"detailContainer",children:[(0,C.jsx)("strong",{children:"Tags:"}),(0,C.jsx)("br",{}),0===pe.length?"N/A":pe.map(((e,t)=>(0,C.jsxs)("span",{children:[e,":",u()(F,`tags.${e}`,""),t{let{versionToRestore:t,bucketName:n,objectPath:o,restoreOpen:i,onCloseAndUpdate:r}=e;const c=(0,l.jL)(),[u,x]=(0,s.useState)(!1);return(0,C.jsx)(ee.A,{title:"Restore File Version",confirmText:"Restore",isOpen:i,isLoading:u,titleIcon:(0,C.jsx)(h.YkU,{}),onConfirm:()=>{x(!0),a.F.buckets.putObjectRestore(n,{prefix:o,version_id:t.version_id||""}).then((()=>{x(!1),r(!0),c((0,d.NV)({prefix:o,objectInfo:t}))})).catch((e=>{c((0,O.C9)((0,m.S)(e.error))),x(!1)}))},confirmButtonProps:{variant:"secondary",disabled:u},onClose:()=>{r(!1)},confirmationContent:(0,C.jsxs)(h.azJ,{id:"alert-dialog-description",children:["Are you sure you want to restore ",(0,C.jsx)("br",{}),(0,C.jsx)("b",{children:o})," ",(0,C.jsx)("br",{})," with Version ID:",(0,C.jsx)("br",{}),(0,C.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,C.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})},me=f.Ay.div((e=>{let{theme:t}=e;return{"&:before":{content:"' '",display:"block",position:"absolute",width:"2px",height:"calc(100% + 2px)",backgroundColor:u()(t,"borderColor","#F8F8F8"),left:"24px"},"& .mainFileVersionItem":{borderBottom:`${u()(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:u()(t,"boxBackground","#F8F8F8"),"& > div":{borderBottomColor:u()(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:u()(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"}}}})),xe=e=>{let{fileName:t,versionInfo:n,isSelected:s,checkable:o,isChecked:i,onCheck:a,onShare:l,onDownload:r,onRestore:d,onPreview:c,globalClick:u,index:m,key:x,style:b}=e;const g=n.is_delete_marker,f=[{icon:(0,C.jsx)(h.cyn,{}),action:c,tooltip:"Preview"},{icon:(0,C.jsx)(h.s3U,{}),action:r,tooltip:"Download this version"},{icon:(0,C.jsx)(h.liv,{}),action:l,tooltip:"Share this version"},{icon:(0,C.jsx)(h.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 _=p.c9.now();return n.last_modified&&(_=p.c9.fromISO(n.last_modified)),(0,C.jsx)(me,{children:(0,C.jsx)(h.xA9,{container:!0,className:"ctrItem",onClick:()=>{u(n)},style:b,children:(0,C.jsx)(h.xA9,{item:!0,xs:12,className:"intermediateLayer "+(s?"selected":""),children:(0,C.jsxs)(h.xA9,{item:!0,xs:!0,className:"mainFileVersionItem "+(n.is_delete_marker?"deleted":""),children:[(0,C.jsx)(h.xA9,{item:!0,xs:12,children:(0,C.jsxs)(h.xA9,{container:!0,children:[(0,C.jsxs)(h.xA9,{item:!0,xs:!0,md:4,className:"versionContainer",children:[o&&(0,C.jsx)(h.Sc0,{checked:i,id:`select-${n.version_id}`,name:`select-${n.version_id}`,onChange:e=>{e.stopPropagation(),a(n.version_id||"")},value:n.version_id||"",disabled:n.is_delete_marker,sx:{width:"initial"}}),U(t,!0)," v",m.toString(),(0,C.jsx)("span",{className:"versionItem",children:v&&(0,C.jsx)(he,{type:v})})]}),(0,C.jsx)(h.xA9,{item:!0,xs:10,md:8,className:"buttonContainer",children:f.map(((e,t)=>(0,C.jsx)(h.m_M,{tooltip:e.tooltip,children:(0,C.jsx)(h.K0,{size:"small",id:`version-action-${e.tooltip}-${t.toString()}`,className:"spacing "+(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-${e.tooltip}-${t.toString()}`)))})]})}),(0,C.jsx)(h.xA9,{item:!0,xs:12,className:"versionID",children:"null"!==n.version_id?n.version_id:"-"}),(0,C.jsxs)(h.xA9,{item:!0,xs:12,className:"collapsableInfo",children:[(0,C.jsxs)("span",{className:"versionData",children:[(0,C.jsx)("strong",{children:"Last modified:"})," ",_.toFormat("ccc, LLL dd yyyy HH:mm:ss (ZZZZ)")]}),(0,C.jsxs)("span",{className:"versionData",children:[(0,C.jsx)("strong",{children:"Size:"})," ",(0,j.nO)(`${n.size||"0"}`)]})]})]})})},x)})},pe=e=>{let{closeDeleteModalAndRefresh:t,deleteOpen:n,selectedBucket:i,selectedObject:d}=e;const c=(0,l.jL)(),[u,x]=(0,s.useState)(!1),[p,j]=(0,s.useState)(""),[b,g]=(0,s.useState)(!1),f=(0,o.d4)((e=>e.objectBrowser.retentionConfig)),v=(0,_._)([i],[r.OV.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===f||void 0===f?void 0:f.mode);if((0,s.useEffect)((()=>{u&&a.F.buckets.deleteObject(i,{prefix:d,non_current_versions:!0,bypass:b}).then((()=>{t(!0)})).catch((e=>{c((0,O.C9)((0,m.S)(e.error))),x(!1)}))}),[u,t,c,d,i,b]),!d)return null;return(0,C.jsx)(ee.A,{title:"Delete Non-Current versions",confirmText:"Delete",isOpen:n,titleIcon:(0,C.jsx)(h.xWY,{}),isLoading:u,onConfirm:()=>{x(!0)},onClose:()=>t(!1),confirmButtonProps:{disabled:"YES, PROCEED"!==p||u},confirmationContent:(0,C.jsxs)(s.Fragment,{children:["Are you sure you want to delete all the non-current versions for:"," ",(0,C.jsx)("b",{children:d}),"? ",(0,C.jsx)("br",{}),v&&(0,C.jsx)(s.Fragment,{children:(0,C.jsx)("div",{style:{marginTop:10},children:(0,C.jsx)(h.dOG,{label:"Bypass Governance Mode",indicatorLabels:["Yes","No"],checked:b,value:"bypass_governance",id:"bypass_governance",name:"bypass_governance",onChange:e=>{g(!b)},description:""})})}),(0,C.jsx)("br",{}),"To continue please type ",(0,C.jsx)("b",{children:"YES, PROCEED"})," in the box.",(0,C.jsx)("br",{}),(0,C.jsx)("br",{}),(0,C.jsx)(h.xA9,{item:!0,xs:12,children:(0,C.jsx)(h.cl_,{id:"type-confirm",name:"retype-tenant",onChange:e=>{j(e.target.value)},label:"",value:p})})]})})},je=e=>{let{closeDeleteModalAndRefresh:t,deleteOpen:n,selectedBucket:i,selectedVersions:d,selectedObject:c}=e;const u=(0,l.jL)(),[x,p]=(0,s.useState)(!1),[j,b]=(0,s.useState)(!1),g=(0,o.d4)((e=>e.objectBrowser.retentionConfig)),f=(0,_._)([i],[r.OV.S3_BYPASS_GOVERNANCE_RETENTION])&&"governance"===(null===g||void 0===g?void 0:g.mode);return(0,s.useEffect)((()=>{if(x){const e=d.map((e=>({path:c,versionID:e,recursive:!1})));e.length>0&&a.F.buckets.deleteMultipleObjects(i,e,{all_versions:!1,bypass:j}).then((()=>{p(!1),t(!0)})).catch((e=>{u((0,O.C9)((0,m.S)(e.error))),p(!1)}))}}),[x,t,i,c,d,j,u]),d?(0,C.jsx)(ee.A,{title:"Delete Selected Versions",confirmText:"Delete",isOpen:n,titleIcon:(0,C.jsx)(h.xWY,{}),isLoading:x,onConfirm:()=>{p(!0)},onClose:()=>t(!1),confirmationContent:(0,C.jsxs)(s.Fragment,{children:["Are you sure you want to delete the selected ",d.length," ","versions for ",(0,C.jsx)("strong",{children:c}),"?",f&&(0,C.jsx)(s.Fragment,{children:(0,C.jsx)("div",{style:{marginTop:10},children:(0,C.jsx)(h.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 i=(0,l.jL)(),r=(0,o.d4)((e=>e.objectBrowser.searchVersions)),c=(0,o.d4)((e=>e.objectBrowser.loadingVersions)),x=(0,o.d4)((e=>e.objectBrowser.selectedVersion)),p=(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)([]),[y,E]=(0,s.useState)(!1),[A,N]=(0,s.useState)(null),[k,B]=(0,s.useState)("date"),[F,V]=(0,s.useState)(!1),[D,P]=(0,s.useState)(!1),[$,U]=(0,s.useState)(!1),[G,J]=(0,s.useState)([]),[K,W]=(0,s.useState)(!1);let H=[];f&&f.name&&(H=f.name.split("/")),(0,s.useEffect)((()=>{c||f||i((0,d.SK)(!0))}),[c,f,i]),(0,s.useEffect)((()=>{c&&""!==t&&a.F.buckets.listObjects(n,{prefix:t,with_versions:p}).then((e=>{const n=u()(e.data,"objects",[]).filter((e=>e.name===t));p?(v(n.find((e=>e.is_latest))||ge),T(n)):(v(n[0]),T([])),i((0,d.SK)(!1))})).catch((e=>{i((0,O.C9)((0,m.S)(e.error))),i((0,d.SK)(!1))}))}),[c,n,t,i,p]);const Y=e=>{S(e),g(!0)},Z=e=>{S(e),V(!0)},q=e=>{N(e),E(!0)},Q=e=>{(0,R._)(i,n,t,e)},X=e=>{i((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(G.includes(e)){const t=G.filter((t=>t!==e));return void J(t)}const t=[...G];t.push(e),J(t)};return(0,C.jsxs)(s.Fragment,{children:[b&&f&&(0,C.jsx)(M.default,{open:b,closeModalAndRefresh:()=>{S(null),g(!1),V(!1)},bucketName:n,dataObject:_||f}),y&&f&&A&&(0,C.jsx)(ue,{restoreOpen:y,bucketName:n,versionToRestore:A,objectPath:f.name||"",onCloseAndUpdate:e=>{E(!1),N(null),e&&(i((0,d.SK)(!0)),i((0,d.oe)(!0)))}}),F&&f&&(0,C.jsx)(z.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,C.jsx)(pe,{deleteOpen:D,closeDeleteModalAndRefresh:e=>{P(!1),e&&(i((0,d.SK)(!0)),i((0,d.Ai)("")),i((0,d.oe)(!0)))},selectedBucket:n,selectedObject:t}),K&&(0,C.jsx)(je,{selectedBucket:n,selectedObject:t,deleteOpen:K,selectedVersions:G,closeDeleteModalAndRefresh:e=>{W(!1),e&&(i((0,d.SK)(!0)),i((0,d.Ai)("")),i((0,d.oe)(!0)),J([]))}}),(0,C.jsxs)(h.xA9,{container:!0,sx:{width:"100%",padding:10,"@media (max-width: 799px)":{minHeight:800}},children:[!f&&(0,C.jsx)(h.xA9,{item:!0,xs:12,children:(0,C.jsx)(h.z21,{})}),f&&(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(h.xA9,{item:!0,xs:12,children:(0,C.jsx)(I,{bucketName:n,internalPaths:t,hidePathButton:!0})}),(0,C.jsx)(h.xA9,{item:!0,xs:12,sx:{position:"relative","& .detailsSpacer":{marginRight:18,"@media (max-width: 600px)":{marginRight:0}},[`@media (max-width: ${h.nmC.md}px)`]:{"&::before":{display:"none"}}},children:(0,C.jsx)(h.lcx,{icon:(0,C.jsx)("span",{style:{display:"block",marginTop:"-10px"},children:(0,C.jsx)(h.j1U,{style:{width:20,height:20}})}),title:`${H.length>0?H[H.length-1]:f.name} Versions`,subTitle:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)("span",{className:"detailsSpacer",children:(0,C.jsxs)("strong",{children:[w.length," Version",1===w.length?"":"s","\xa0\xa0\xa0"]})}),(0,C.jsx)("span",{className:"detailsSpacer",children:(0,C.jsx)("strong",{children:(0,j.qO)(te)})})]}),actions:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(L.A,{tooltip:"Select Multiple Versions",children:(0,C.jsx)(h.$nd,{id:"select-multiple-versions",onClick:()=>{U(!$)},icon:(0,C.jsx)(h.IN,{}),variant:$?"callAction":"regular",style:{marginRight:8}})}),$&&(0,C.jsx)(L.A,{tooltip:"Delete Selected Versions",children:(0,C.jsx)(h.$nd,{id:"delete-multiple-versions",onClick:()=>{W(!0)},icon:(0,C.jsx)(h.d7y,{}),variant:"secondary",style:{marginRight:8},disabled:0===G.length})}),(0,C.jsx)(L.A,{tooltip:"Delete Non Current Versions",children:(0,C.jsx)(h.$nd,{id:"delete-non-current",onClick:()=>{P(!0)},icon:(0,C.jsx)(h.rgY,{}),variant:"secondary",style:{marginRight:15},disabled:w.length<=1})}),(0,C.jsx)(h.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,C.jsx)(h.xA9,{item:!0,xs:12,sx:{flexGrow:1,height:"calc(100% - 120px)",overflow:"auto",[`@media (max-width: ${h.nmC.md}px)`]:{height:600}},children:f.version_id&&"null"!==f.version_id&&(0,C.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:i}=e;const a=w.length-n;return(0,C.jsx)(xe,{style:i,fileName:(null===f||void 0===f?void 0:f.name)||"",versionInfo:ee[n],index:a,onDownload:Q,onRestore:q,onShare:Y,onPreview:Z,globalClick:X,isSelected:x===ee[n].version_id,checkable:$,onCheck:ne,isChecked:G.includes(ee[n].version_id||"")},t)}})})]})]})]})},ve=e=>{if(e.name.endsWith("/"))return"";const t=p.c9.now(),n=p.c9.fromISO(e.last_modified);return t.hasSame(n,"day")&&t.hasSame(n,"month")&&t.hasSame(n,"year")?`Today, ${n.toFormat("HH:mm")}`:n.toFormat("ccc, LLL dd yyyy HH:mm (ZZZZ)")},_e=e=>e.name.endsWith("/")||!e.size?"-":(0,j.nO)(String(e.size)),Se=[{label:"Name",elementKey:"name",renderFunction:U,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:U,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,i.g)(),n=(0,i.Zp)(),[a,c]=(0,s.useState)("ASC"),[m,x]=(0,s.useState)("name"),p=t.bucketName||"",j=(0,o.d4)((e=>e.objectBrowser.objectDetailsOpen)),b=(0,o.d4)((e=>e.objectBrowser.requestInProgress)),g=(0,o.d4)(we.s$),f=!(null===g||void 0===g||!g.includes("object-browser-only")),v=(0,o.d4)((e=>e.objectBrowser.rewind.rewindEnabled)),S=(0,o.d4)((e=>e.objectBrowser.records)),O=(0,o.d4)((e=>e.objectBrowser.searchObjects)),w=(0,o.d4)((e=>e.objectBrowser.selectedObjects)),T=(0,o.d4)((e=>e.objectBrowser.connectionError)),y=(0,o.d4)((e=>e.system.anonymousMode)),E=(0,_._)(p,[r.OV.S3_LIST_BUCKET,r.OV.S3_ALL_LIST_BUCKET]),I=S.filter((e=>{if(""===O)return!0;return e.name.toLowerCase().indexOf(O.toLowerCase())>=0})).sort((0,A.$w)(m));let N=[];N="ASC"===a?I:I.reverse();const k=[{type:"view",tooltip:"View",onClick:t=>{var s;const o=t.name||"",i=`/browser/${encodeURIComponent(p)}${o?`/${encodeURIComponent(o)}`:""}`;!y||null!==(s=t.name)&&void 0!==s&&s.endsWith("/")?(e((0,d.KX)([])),n(i),y||(e((0,d.TO)(!0)),e((0,d.SK)(!0))),e((0,d.A7)(o))):(0,R._)(e,p,o,t)},sendOnlyId:!1}];let B=E||y?"This location is empty"+(v?"":", 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");T&&(B="Objects List unavailable. Please review your WebSockets configuration and try again");let F="calc(100vh - 290px)";return f&&(F="calc(100vh - 315px)"),(0,C.jsx)(h.bQt,{itemActions:k,columns:v?Oe:Se,isLoading:b,entityName:"Objects",idField:"name",records:N,customPaperHeight:F,selectedItems:w,onSelect:y?void 0:t=>{const n=t.target,s=n.value,o=n.checked;let i=[...w];return o?i.push(s):i=i.filter((e=>e!==s)),e((0,d.KX)(i)),e((0,d.A7)(null)),i},customEmptyMessage:B,sortEnabled:{currentSort:m,currentDirection:a,onSortClick:t=>{const n=u()(t,"sortDirection","DESC");x(t.sortBy),c(n),e((0,d.Yw)(!0))}},onSelectAll:()=>{if(e((0,d.A7)(null)),w.length===N.length)return void e((0,d.KX)([]));const t=N.map((e=>e.name));e((0,d.KX)(t))},rowStyle:e=>{var t;let{index:n}=e;return null!==(t=N[n])&&void 0!==t&&t.delete_flag?"deleted":""},sx:{minHeight:j?"100%":"initial"},noBackground:!0})};var Ce=n(64681);const ye=()=>{const e=(0,l.jL)(),t=(0,o.d4)((e=>e.objectBrowser.searchObjects));return(0,C.jsx)(Ce.A,{placeholder:"Start typing to filter objects in the bucket",onChange:t=>{e((0,d.$X)(t))},value:t})};var Ee=n(30614);const Ie=(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))))),Ne=(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,i.g)(),c=(0,i.Zp)(),b=(0,i.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)),y=(0,o.d4)((e=>e.objectBrowser.objectDetailsOpen)),E=(0,o.d4)((e=>e.objectBrowser.selectedInternalPaths)),R=(0,o.d4)((e=>e.objectBrowser.requestInProgress)),P=(0,o.d4)((e=>e.objectBrowser.simplePath)),$=(0,o.d4)((e=>e.objectBrowser.versionInfo)),U=(0,o.d4)((e=>e.objectBrowser.lockingEnabled)),z=(0,o.d4)((e=>e.objectBrowser.downloadRenameModal)),G=(0,o.d4)((e=>e.objectBrowser.selectedPreview)),M=(0,o.d4)((e=>e.objectBrowser.shareFileModalOpen)),J=(0,o.d4)((e=>e.objectBrowser.previewOpen)),K=(0,o.d4)((e=>e.objectBrowser.selectedBucket)),W=(0,o.d4)((e=>e.system.anonymousMode)),H=(0,o.d4)((e=>e.objectBrowser.anonymousAccessOpen)),Y=(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,ie]=(0,s.useState)(!1),[ae,le]=(0,s.useState)(!1),[de,ue]=(0,s.useState)(null),[he,me]=(0,s.useState)(null),[xe,pe]=(0,s.useState)(!1),je=N($.status),be=n.bucketName||"",ge=b.pathname.split(`/browser/${be}/`),ve=2===ge.length?decodeURIComponent(ge[1]):"",_e=ve.split("/").filter((e=>""!==e));let Se=[be];_e.length>0&&(Se=Se.concat(_e));const Oe=(0,s.useRef)(null),we=(0,s.useRef)(null),Ce=(0,o.d4)((e=>e.console.session&&e.console.session.permissions||{})),Ve=[r.OV.S3_PUT_OBJECT,r.OV.S3_PUT_ACTIONS],De=Se.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(`.${n}`),e}),[]);return[...new Set(n)].join(",")}(Ce,De,Ve),Pe=T(Ce,De,Ve),$e=(0,_._)([De,...Pe],[r.OV.S3_GET_OBJECT,r.OV.S3_GET_ACTIONS]),Ue=(0,_._)(be,[r.OV.S3_GET_OBJECT,r.OV.S3_GET_ACTIONS,r.OV.S3_GET_BUCKET_VERSIONING]),ze=(0,_._)([De,...Pe],[r.OV.S3_DELETE_OBJECT]),Ge=(0,_._)([De,...Pe],Ve)||W,Me=(0,_._)(be,[r.OV.S3_GET_BUCKET_POLICY,r.OV.S3_PUT_BUCKET_POLICY,r.OV.S3_GET_ACTIONS,r.OV.S3_PUT_ACTIONS]),Je=(0,o.d4)((e=>e.objectBrowser.selectedObjects)),Ke=(()=>{let e=!1;if(1===Je.length){e=!!Y.find((e=>e.name===`${Je[0]}`&&e.delete_flag))}return e})(),We=(0,s.useCallback)((()=>{const e=Je[0];!xe&&e&&a.F.buckets.getObjectMetadata(be,{prefix:e}).then((e=>{let t=u()(e.data,"objectMetadata",{});pe(!0),me(t)})).catch((e=>{console.error("Error Getting Metadata Status: ",e,null===e||void 0===e?void 0:e.detailedError),pe(!0)}))}),[be,Je,xe]);(0,s.useEffect)((()=>{be&&!Ke&&We()}),[be,Je,We,Ke]),(0,s.useEffect)((()=>{g&&f!==be&&t((0,d.rS)())}),[g,f,be,t]),(0,s.useEffect)((()=>{null!==we.current&&(we.current.setAttribute("directory",""),we.current.setAttribute("webkitdirectory",""))}),[we]),(0,s.useEffect)((()=>{if(1===Je.length){const e=Je[0],t=e.endsWith("/");let n=(0,A.IZ)(he,e);le(!("none"===n||!$e)),ie(!(!$e||t))}else ie(!1),le(!1)}),[Je,$e,he]),(0,s.useEffect)((()=>{de||W||a.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)}))}),[de,be,W]),(0,s.useEffect)((()=>{Je.length>0?t((0,d.TO)(!0)):0!==Je.length||null!==E||R||t((0,d.TO)(!1))}),[Je,E,t,R]),(0,s.useEffect)((()=>{ne||(t((0,B.ZU)(!0)),se(!0))}),[ne,t,se]),(0,s.useEffect)((()=>{!R&&!Z||W||a.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,W,R]),(0,s.useEffect)((()=>{""!==K&&a.F.buckets.getBucketRetentionConfig(K).then((e=>{t((0,d.PJ)(e.data))})).catch((()=>{t((0,d.PJ)(null))}))}),[K,t]);const He=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="";P&&(s=P.endsWith("/")?P:P+"/");((e,n,s,o)=>{let i=i=>new Promise(((a,l)=>{let r=`api/v1/buckets/${n}/objects/upload`;const c=i.name,h=new Blob([i],{type:i.type}),m=(e=>e.replace(/(^|\/)\.\//g,"/"))(u()(i,"path","")),x=u()(i,"webkitRelativePath","");let p=o;const j=(0,k.E0)(8);""!==m?p=m:""!==x&&(p=x);let b="";if(""!==s||""!==p){const e=p.split("/").slice(0,-1).join("/"),t=s.endsWith("/")?s.slice(0,-1):s;b=`${t}${t.endsWith("/")||""===e||e.startsWith("/")?"":"/"}${e}${!e.endsWith("/")||""===e.trim()&&!s.endsWith("/")?"/":""}`}r=""!==b?`${r}?prefix=${encodeURIComponent(b+c)}`:`${r}?prefix=${encodeURIComponent(c)}`;const g=encodeURIComponent(`${n}-${b}-${(new Date).getTime()}-${Math.random()}`);let f=new XMLHttpRequest;f.open("POST",r,!0),W&&f.setRequestHeader("X-Anonymous","1");let v=`An error occurred while uploading the file${e.length>1?"s":""}.`;const _={413:"Error - File size too large"};f.withCredentials=!1,f.onload=function(){if(f.status>=200&&f.status<300)t((0,d.rx)(g)),a({status:f.status}),(0,k.vy)(j);else{if(_[f.status])v=_[f.status];else if(f.response)try{const e=JSON.parse(f.response);v=e.detailedMessage}catch(e){v="something went wrong"}t((0,d.iL)({instanceID:g,msg:v})),l({status:f.status,message:v}),(0,k.vy)(j)}},f.upload.addEventListener("error",(()=>{l(v),t((0,d.iL)({instanceID:g,msg:"A network error occurred."}))})),f.upload.addEventListener("progress",(e=>{const n=Math.floor(100*e.loaded/e.total);t((0,d.DW)({instanceID:g,progress:n}))})),f.onerror=()=>{l(v),t((0,d.iL)({instanceID:g,msg:"A network error occurred."}))},f.onloadend=()=>{0===e.length&&t((0,d.Yw)(!0))},f.onabort=()=>{t((0,d.Dm)(g))};const S=new FormData;void 0!==i.size&&(S.append(i.size.toString(),h,c),(0,k.FP)(j,f),t((0,d.cP)({ID:j,bucketName:n,done:!1,instanceID:g,percentage:0,prefix:`${b}${c}`,type:"upload",waitingForFile:!1,failed:!1,cancelled:!1,errorMessage:""})),(0,k.vx)(j,S))}));const a=[];t((0,d.Nu)());for(let t=0;t{const n=e.filter((e=>"rejected"===e.status));if(n.length>0){const e=a.length,s={errorMessage:"There were some errors during file upload",detailedError:`Uploaded files ${a.length-n.length}/${e}`};t((0,O.C9)(s))}t((0,d.Yw)(!0))}))})(e,be,s,n)}),[be,t,P,W]),Ze=(0,s.useCallback)((e=>{if(e&&e.length>0&&Ge){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?(Ye(s,n),console.log(`${s.length} Allowed Files Processed out of ${e.length}.`,De,...Pe),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.",De,...Pe))}Ge||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")}))}),[Ye]),{getRootProps:qe,getInputProps:Qe,isDragActive:Xe,isDragAccept:et}=(0,x.VB)({noClick:!0,onDrop:Ze}),tt=(0,s.useMemo)((()=>({...Be,...Xe?Fe:{},...et?Le:{}})),[Xe,et]),nt=e=>{if(t((0,d.A7)(null)),t((0,d.cQ)({status:!1})),y&&null!==E){const e=ve.split("/");e.pop();let t="";e&&e.length>0&&(t=`${e.join("/")}/`),c(`/browser/${encodeURIComponent(be)}/${encodeURIComponent(t)}`)}t((0,d.TO)(!1)),e&&t((0,d.Yw)(!0))};let st=p.c9.now();null!==q&&void 0!==q&&q.creation_date&&(st=p.c9.fromISO(q.creation_date));const ot=(null===Je||void 0===Je?void 0:Je.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:!$e||Ke,icon:(0,C.jsx)(h.s3U,{}),tooltip:$e?ot:(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!==Je.length||!oe||Ke,icon:(0,C.jsx)(h.liv,{}),tooltip:oe?"Share Selected File":"Sharing unavailable"},{action:()=>{t((0,F.HS)())},label:"Preview",disabled:1!==Je.length||!ae||Ke,icon:(0,C.jsx)(h.cyn,{}),tooltip:ae?"Preview Selected File":"Preview unavailable"},{action:()=>{t((0,F.oz)())},label:"Anonymous Access",disabled:1!==Je.length||!Je[0].endsWith("/")||!Me,icon:(0,C.jsx)(h._kf,{}),tooltip:1===Je.length&&Je[0].endsWith("/")?"Set Anonymous Access to this Folder":"Anonymous Access unavailable"},{action:()=>{X(!0)},label:"Delete",icon:(0,C.jsx)(h.d7y,{}),disabled:!ze||0===Je.length,tooltip:ze?"Delete Selected Files":(0,r.vj)([r.OV.S3_DELETE_OBJECT],"delete objects in this bucket")}];return(0,C.jsxs)(s.Fragment,{children:[M&&G&&(0,C.jsx)(Ae,{open:M,closeModalAndRefresh:()=>{t((0,d.Lf)(!1)),t((0,d.go)(null))},bucketName:be,dataObject:{name:G.name,last_modified:"",version_id:G.version_id}}),Q&&(0,C.jsx)(Ie,{deleteOpen:Q,selectedBucket:be,selectedObjects:Je,closeDeleteModalAndRefresh:e=>{X(!1),e&&(t((0,O.Hk)("Objects deleted successfully.")),t((0,d.KX)([])),t((0,d.Yw)(!0)))},versioning:$}),ee&&(0,C.jsx)(Ne,{open:ee,closeModalAndRefresh:()=>{te(!1)},bucketName:be}),J&&G&&(0,C.jsx)(ke,{open:J,bucketName:be,actualInfo:{name:G.name||"",last_modified:"",version_id:G.version_id||"",size:G.size||0},onClosePreview:()=>{t((0,d.xE)(!1)),t((0,d.go)(null))}}),!!z&&(0,C.jsx)(re,{open:!!z,closeModal:()=>{t((0,d.Ew)(null))},currentItem:(null===(e=z.name.split("/"))||void 0===e?void 0:e.pop())||"",bucketName:be,internalPaths:ve,actualInfo:{name:z.name,last_modified:"",version_id:z.version_id,size:z.size}}),H&&(0,C.jsx)(Ee.default,{onClose:()=>{t((0,d.I8)(!1))},bucket:be,modalOpen:H,prefilledRoute:`${Je[0]}*`}),(0,C.jsxs)(h.Mxu,{variant:"full",children:[W&&(0,C.jsx)("div",{style:{paddingBottom:16},children:(0,C.jsx)(ye,{})}),(0,C.jsx)(h.azJ,{withBorders:!0,sx:{padding:"0 5px"},children:(0,C.jsx)(h.lcx,{icon:(0,C.jsx)("span",{children:(0,C.jsx)(h.brV,{style:{width:30}})}),title:be,subTitle:W?null:(0,C.jsxs)(h.azJ,{sx:{"& .detailsSpacer":{marginRight:18,"@media (max-width: 600px)":{marginRight:0}}},children:[(0,C.jsxs)("span",{className:"detailsSpacer",children:["Created on:\xa0",(0,C.jsx)("strong",{children:null!==q&&void 0!==q&&q.creation_date?st.toFormat("ccc, LLL dd yyyy HH:mm:ss (ZZZZ)"):""})]}),(0,C.jsxs)("span",{className:"detailsSpacer",children:["Access:\xa0\xa0",(0,C.jsx)("strong",{children:(null===q||void 0===q?void 0:q.access)||""})]}),q&&(0,C.jsx)(s.Fragment,{children:(0,C.jsxs)("span",{className:"detailsSpacer",children:[q.size&&(0,C.jsx)(s.Fragment,{children:(0,j.qO)(q.size)}),q.size&&de&&(0,C.jsxs)(s.Fragment,{children:[" ","/ ",(0,j.qO)(de.quota||0)]}),q.size&&q.objects?" - ":"",q.objects&&(0,C.jsxs)(s.Fragment,{children:[q.objects,"\xa0Object",q.objects&&1!==q.objects?"s":""]})]})})]}),actions:(0,C.jsxs)(s.Fragment,{children:[!W&&(0,C.jsx)(L.A,{tooltip:Ue?"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,C.jsx)(h.$nd,{id:"rewind-objects-list",label:"Rewind",icon:(0,C.jsx)(h.Exy,{color:"alert",dotOnly:!0,invisible:!g,children:(0,C.jsx)(h.osr,{style:{minWidth:16,minHeight:16,width:16,height:16,marginTop:-3}})}),variant:"regular",onClick:()=>{te(!0)},disabled:!je||!Ue})}),(0,C.jsx)(L.A,{tooltip:"Reload List",children:(0,C.jsx)(h.$nd,{id:"refresh-objects-list",label:"Refresh",icon:(0,C.jsx)(h.fNY,{}),variant:"regular",onClick:()=>{v?t((0,d.SK)(!0)):(t((0,d.A3)()),t((0,d.Yw)(!0)))},disabled:!W&&(!(0,_._)(be,[r.OV.S3_LIST_BUCKET,r.OV.S3_ALL_LIST_BUCKET])||g)})}),(0,C.jsx)("input",{type:"file",multiple:!0,accept:Re||void 0,onChange:He,style:{display:"none"},ref:Oe}),(0,C.jsx)("input",{type:"file",multiple:!0,onChange:He,style:{display:"none"},ref:we}),(0,C.jsx)(V,{bucketName:be,uploadPath:De,uploadFileFunction:e=>{Oe&&Oe.current&&Oe.current.click(),e()},uploadFolderFunction:e=>{we&&we.current&&we.current.click(),e()}})]}),bottomBorder:!1})}),(0,C.jsxs)("div",{id:"object-list-wrapper",...qe({style:{...tt}}),children:[(0,C.jsx)("input",{...Qe()}),(0,C.jsxs)(h.azJ,{withBorders:!0,sx:{display:"flex",borderTop:0,padding:0,"& .hideListOnSmall":{"@media (max-width: 799px)":{display:"none"}}},children:[v?(0,C.jsx)(s.Fragment,{children:null!==E&&(0,C.jsx)(fe,{internalPaths:E,bucketName:be})}):(0,C.jsx)(_.R,{scopes:[r.OV.S3_LIST_BUCKET,r.OV.S3_ALL_LIST_BUCKET],resource:be,errorProps:{disabled:!0},children:(0,C.jsxs)(h.xA9,{item:!0,xs:12,sx:{width:"100%",position:"relative","&.detailsOpen":{"@media (max-width: 799px)":{display:"none"}}},className:y?"detailsOpen":"",children:[!W&&(0,C.jsx)(h.xA9,{item:!0,xs:12,sx:{padding:"12px 14px 5px"},children:(0,C.jsx)(I,{bucketName:be,internalPaths:ve,additionalOptions:!je||g?null:(0,C.jsx)(h.Sc0,{name:"deleted_objects",id:"showDeletedObjects",value:"deleted_on",label:"Show deleted objects",onChange:()=>{t((0,d.A3)()),t((0,d.lA)(!S)),nt(!0)},checked:S,sx:{marginLeft:5,"@media (max-width: 600px)":{marginLeft:0,flexDirection:"row"}}}),hidePathButton:!1})}),(0,C.jsx)(Te,{})]})}),!W&&(0,C.jsx)(_.R,{scopes:[r.OV.S3_LIST_BUCKET,r.OV.S3_ALL_LIST_BUCKET],resource:be,errorProps:{disabled:!0},children:(0,C.jsxs)(D,{open:y,closePanel:()=>{nt(!1)},className:""+(v?"hideListOnSmall":""),children:[Je.length>0&&(0,C.jsx)(h.Smc,{items:it,title:"Selected Objects:"}),null!==E&&(0,C.jsx)(ce,{internalPaths:E,bucketName:be,onClosePanel:nt,versioningInfo:$,locking:U})]})})]})]})]})]})};var De=n(18218),Re=n(69772),Pe=n(48793),$e=n(59707),Ue=n(88617);const ze=e=>{let{bucketName:t}=e;const n=(0,l.jL)(),a=(0,o.d4)(we.s$),c=(0,o.d4)((e=>e.objectBrowser.versionsMode)),u=(0,o.d4)((e=>e.objectBrowser.versionedFile)),m=(0,o.d4)((e=>e.objectBrowser.searchVersions)),x=!(null===a||void 0===a||!a.includes("object-browser-only")),p=(0,i.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.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,C.jsx)(s.Fragment,{children:c?(0,C.jsx)(s.Fragment,{children:(0,C.jsx)(Ce.A,{placeholder:`Start typing to filter versions of ${u}`,onChange:e=>{n((0,d.aj)(e))},value:m})}):(0,C.jsx)(_.R,{scopes:[r.OV.S3_LIST_BUCKET,r.OV.S3_ALL_LIST_BUCKET],resource:t,errorProps:{disabled:!0},children:(0,C.jsx)(ye,{})})});return(0,s.useEffect)((()=>{n((0,O.ph)("object_browser"))}),[]),(0,C.jsx)(s.Fragment,{children:x?(0,C.jsxs)(h.xA9,{container:!0,sx:{padding:"20px 32px 0"},children:[(0,C.jsx)(h.xA9,{children:(0,C.jsx)(Re.A,{marginRight:30,marginTop:10})}),(0,C.jsxs)(h.xA9,{item:!0,xs:!0,sx:{display:"flex",gap:10},children:[b,(0,C.jsx)($e.A,{})]})]}):(0,C.jsx)(Pe.A,{label:(0,C.jsx)(h.EGL,{label:"Object Browser",onClick:()=>{p(r.zZ.OBJECT_BROWSER_VIEW)}}),actions:(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)(_.R,{scopes:r.pC[r.ac.BUCKET_ADMIN],resource:t,errorProps:{disabled:!0},children:(0,C.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,C.jsx)(h.$nd,{id:"configure-bucket-main",color:"primary","aria-label":"Configure Bucket",onClick:()=>p(`/buckets/${t}/admin`),icon:(0,C.jsx)(h.Zes,{style:{width:20,height:20,marginTop:-3}}),style:{padding:"0 10px"}})})}),(0,C.jsx)(Ue.A,{})]}),middleComponent:b})})},Ge=()=>{const e=(0,l.jL)(),t=(0,i.g)(),n=(0,i.zy)(),c=(0,o.d4)((e=>e.objectBrowser.loadingVersioning)),u=(0,o.d4)((e=>e.objectBrowser.rewind.rewindEnabled)),h=(0,o.d4)((e=>e.objectBrowser.rewind.dateToRewind)),m=(0,o.d4)((e=>e.objectBrowser.showDeleted)),x=(0,o.d4)((e=>e.objectBrowser.requestInProgress)),p=(0,o.d4)((e=>e.objectBrowser.loadingLocking)),j=(0,o.d4)((e=>e.objectBrowser.reloadObjectsList)),b=(0,o.d4)((e=>e.objectBrowser.simplePath)),g=(0,o.d4)((e=>e.system.anonymousMode)),f=(0,o.d4)((e=>e.objectBrowser.selectedBucket)),v=(0,o.d4)((e=>e.objectBrowser.records)),_=t.bucketName||"",S=n.pathname.split(`/browser/${encodeURIComponent(_)}/`),O=2===S.length?decodeURIComponent(S[1]):"",w=(0,s.useCallback)((t=>{let n=(new Date).toISOString();null!==h&&u&&(n=h);e({type:"socket/OBRequest",payload:{bucketName:_,path:t,rewindMode:u||m,date:n}})}),[_,m,h,u,e]),T=(0,s.useCallback)((function(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];e((0,d.cQ)({status:!1}));let n=O;O.endsWith("/")||""===O||(n=`${O.split("/").slice(0,-1).join("/")}/`),"/"===n&&(n=""),(n!==b||_!==f||t)&&(e((0,d.u)(!0)),w(n))}),[O,e,b,f,_,w]);(0,s.useEffect)((()=>()=>{e({type:"socket/OBCancelLast"})}),[e]),(0,s.useEffect)((()=>{e((0,d.vn)(!0)),O.endsWith("/")||""===O?(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)(O||"")))}),[_,O,h,u,e]),(0,s.useEffect)((()=>{T(!1)}),[T]),(0,s.useEffect)((()=>{j&&0===v.length&&!x&&T(!0)}),[j,v,x,T]);const y=(0,De.A)(_,[r.OV.S3_LIST_BUCKET,r.OV.S3_ALL_LIST_BUCKET])||g;return(0,s.useEffect)((()=>{c&&!g&&(y?a.F.buckets.getBucketVersioning(_).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)())))}),[_,c,e,y,g]),(0,s.useEffect)((()=>{p&&(y?a.F.buckets.getBucketObjectLockingStatus(_).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))))}),[_,p,e,y]),(0,C.jsxs)(s.Fragment,{children:[!g&&(0,C.jsx)(ze,{bucketName:_}),(0,C.jsx)(Ve,{})]})}},30718:(e,t,n)=>{n.r(t),n.d(t,{default:()=>_});var s=n(65043),o=n(22166),i=n(89923),a=n(61476),l=n.n(a),r=n(94141),d=n(24241),c=n(70579);const u=e=>{let{id:t,label:n,maxSeconds:o,entity:a,onChange:l}=e;const r=Math.floor(o/86400),u=Math.floor(o%86400/3600),h=Math.floor(o%3600/60),[m,x]=(0,s.useState)(0),[p,j]=(0,s.useState)(0),[b,g]=(0,s.useState)(0),[f,v]=(0,s.useState)(!0),[_,S]=(0,s.useState)(null);(0,s.useEffect)((()=>{x(r),j(u),g(h)}),[r,u,h]),(0,s.useEffect)((()=>{var e,t,n;isNaN(p)||isNaN(m)||isNaN(b)||S((e=m,t=p,n=b,d.c9.now().plus({hours:t+24*e,minutes:n}).toISO()))}),[m,p,b]),(0,s.useEffect)((()=>{if(f&&_){const e=d.c9.fromISO(_).toFormat("yyyy-MM-dd HH:mm:ss");l(e.split(" ").join("T"),!0)}else l("0000-00-00",!1)}),[_,l,f]),(0,s.useEffect)((()=>{let e=!0;(m<0||m>7||m>r||isNaN(m))&&(e=!1),(p<0||p>23||isNaN(p))&&(e=!1),(b<0||b>59||isNaN(b))&&(e=!1),m===r&&(p>u&&(e=!1),p===u&&b>h&&(e=!1)),m<=0&&p<=0&&b<=0&&(e=!1),v(e)}),[_,r,u,h,l,m,p,b]);const O={"& .textBoxContainer":{minWidth:0},"& input":{textAlign:"center",paddingRight:10,paddingLeft:10,width:40}};return(0,c.jsxs)(i.azJ,{className:"inputItem",children:[(0,c.jsx)(i.azJ,{sx:{display:"flex",alignItems:"center",marginBottom:5},children:(0,c.jsx)(i.l1Y,{htmlFor:t,children:n})}),(0,c.jsxs)(i.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,c.jsx)(i.azJ,{children:(0,c.jsx)(i.cl_,{id:t,className:"reverseInput removeArrows",type:"number",min:"0",max:"7",label:"Days",name:t,onChange:e=>{x(parseInt(e.target.value))},value:m.toString(),sx:O,noLabelMinWidth:!0})}),(0,c.jsx)(i.azJ,{children:(0,c.jsx)(i.cl_,{id:t,className:"reverseInput removeArrows",type:"number",min:"0",max:"23",label:"Hours",name:t,onChange:e=>{j(parseInt(e.target.value))},value:p.toString(),sx:O,noLabelMinWidth:!0})}),(0,c.jsx)(i.azJ,{children:(0,c.jsx)(i.cl_,{id:t,className:"reverseInput removeArrows",type:"number",min:"0",max:"59",label:"Minutes",name:t,onChange:e=>{g(parseInt(e.target.value))},value:b.toString(),sx:O,noLabelMinWidth:!0})})]}),(0,c.jsx)(i.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:f&&_?(0,c.jsxs)("div",{className:"validityText",children:[(0,c.jsx)(i.qYV,{}),(0,c.jsxs)("div",{children:[a," will be available until:"]})," ",(0,c.jsx)("div",{className:"validTill",children:d.c9.fromISO(_).toFormat("MM/dd/yyyy HH:mm:ss ZZZZ")})]}):(0,c.jsx)("div",{className:"invalidDurationText",children:"Please select a valid duration."})})]})};var h=n(56483),m=n(64159),x=n(21383),p=n(56629),j=n(53518),b=n(81708),g=n(6035),f=n(93950),v=n.n(f);const _=e=>{let{open:t,closeModalAndRefresh:n,bucketName:a,dataObject:d}=e;const f=(0,x.jL)(),_=(0,o.d4)(m.Rq),S=(0,o.d4)(g.yL),[O,w]=(0,s.useState)(""),[T,C]=(0,s.useState)(!0),[y,E]=(0,s.useState)(!1),[I,A]=(0,s.useState)(""),[N,k]=(0,s.useState)(!0),[B,F]=(0,s.useState)("null"),L=v()(((e,t)=>{k(t),t?A(e):(A(""),w(""))}),300);return(0,s.useEffect)((()=>{f((0,b.Ex)())}),[f]),(0,s.useEffect)((()=>{if(void 0===d.version_id)return _?(p.F.buckets.listObjects(a,{prefix:d.name||"",with_versions:_}).then((e=>{const t=(e.data.objects||[]).find((e=>e.is_latest));F(t?`${t.version_id}`:"null")})).catch((e=>{f((0,m.Dy)((0,j.S)(e.error)))})),void C(!1)):(F("null"),void C(!1));F(d.version_id||"null"),C(!1)}),[a,d,_,f]),(0,s.useEffect)((()=>{if(N&&!T){E(!0),w("");const e=new Date(`${I}`),t=new Date,n=Math.ceil((e.getTime()-t.getTime())/1e3);n>0&&p.F.buckets.shareObject(a,{prefix:d.name||"",version_id:B,expires:""!==I?`${n}s`:""}).then((e=>{w(e.data),E(!1)})).catch((e=>{f((0,m.Dy)((0,j.S)(e.error))),w(""),E(!1)}))}}),[d,I,a,N,w,f,_,T,B]),(0,c.jsx)(s.Fragment,{children:(0,c.jsxs)(r.A,{title:"Share File",titleIcon:(0,c.jsx)(i.liv,{style:{fill:"#4CCB92"}}),modalOpen:t,onClose:()=>{n()},children:[T&&(0,c.jsx)(i.xA9,{item:!0,xs:12,children:(0,c.jsx)(i.z21,{})}),!T&&(0,c.jsxs)(s.Fragment,{children:[(0,c.jsx)(i.xA9,{item:!0,xs:12,sx:{fontSize:14,fontWeight:400},children:(0,c.jsx)(i.m_M,{placement:"right",tooltip:(0,c.jsxs)("span",{children:["You can reset your session by logging out and logging back in to the web UI. ",(0,c.jsx)("br",{})," ",(0,c.jsx)("br",{}),"You can increase the maximum configuration time by setting the MINIO_STS_DURATION environment variable on all your nodes. ",(0,c.jsx)("br",{})," ",(0,c.jsx)("br",{}),"You can use ",(0,c.jsx)("b",{children:"mc share"})," as an alternative to this UI, where the session length does not limit the URL validity."]}),children:(0,c.jsxs)("span",{children:["The following URL lets you share this object without requiring a login. ",(0,c.jsx)("br",{}),"The URL expires automatically at the earlier of your configured time (",(0,h.K7)(S),") or the expiration of your current web session."]})})}),(0,c.jsx)("br",{}),(0,c.jsx)(i.xA9,{item:!0,xs:12,children:(0,c.jsx)(u,{id:"date",label:"Active for",maxSeconds:S,onChange:L,entity:"Link"})}),(0,c.jsx)(i.xA9,{item:!0,xs:12,sx:{marginBottom:10},children:(0,c.jsx)(i.EmB,{actionButton:(0,c.jsx)(l(),{text:O,children:(0,c.jsx)(i.$nd,{id:"copy-path",variant:"regular",onClick:()=>{f((0,m.h0)("Share URL Copied to clipboard"))},disabled:""===O||y,style:{width:"28px",height:"28px",padding:"0px"},icon:(0,c.jsx)(i.TdU,{})})}),children:O})})]})]})})}},37524:(e,t,n)=>{n.r(t),n.d(t,{default:()=>g});var s=n(65043),o=n(94141),i=n(89923),a=n(33097),l=n.n(a),r=n(93445),d=n(56629),c=n(79355),u=n(97806),h=n(6584),m=n(70579);c.EA.workerSrc="./scripts/pdf.worker.min.mjs";const x=e=>{let{path:t,loading:n,onLoad:o,downloadFile:a}=e;const[l,r]=(0,s.useState)(!1),[d,c]=(0,s.useState)(0);if(!t)return null;const x=d>5?5:d,p=Array.from(Array(x).keys());return(0,m.jsxs)(s.Fragment,{children:[l&&0===d&&(0,m.jsx)(i.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)(i.azJ,{sx:{display:"flex",justifyContent:"center",marginTop:12},children:(0,m.jsx)(i.$nd,{id:"download-preview",onClick:a,variant:"callAction",children:"Download File"})})]}),sx:{marginBottom:10}}),!n&&!l&&(0,m.jsx)(i.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)(i.azJ,{sx:{display:"flex",justifyContent:"center",marginTop:12},children:(0,m.jsx)(i.$nd,{id:"download-preview",onClick:a,variant:"callAction",children:"Download File"})})]}),sx:{marginBottom:10}}),!l&&(0,m.jsx)(i.azJ,{sx:{overflowY:"auto","& .react-pdf__Page__canvas":{margin:"0 auto",backgroundColor:"transparent"}},children:(0,m.jsx)(u.A,{file:t,onLoadSuccess:e=>{let{_pdfInfo:t}=e;c(t.numPages||0),r(!1),o()},onLoadError:e=>{r(!0),o(),console.error(e)},children:p.map((e=>(0,m.jsx)(h.A,{pageNumber:e+1,renderAnnotationLayer:!1,renderTextLayer:!1,renderForms:!1},`render-page-${e}`)))})})]})};var p=n(48245),j=n(21383);const b=e=>{let{bucketName:t,actualInfo:n,isFullscreen:o=!1}=e;const a=(0,j.jL)(),[c,u]=(0,s.useState)(!0),[h,b]=(0,s.useState)(null),[g,f]=(0,s.useState)(!1),v=(null===n||void 0===n?void 0:n.name)||"",_=(0,s.useCallback)((()=>{g||d.F.buckets.getObjectMetadata(t,{prefix:v,versionID:n.version_id||""}).then((e=>{let t=l()(e.data,"objectMetadata",{});f(!0),b(t)})).catch((e=>{console.error("Error Getting Metadata Status: ",e,null===e||void 0===e?void 0:e.detailedError),f(!0)}))}),[t,v,g,n.version_id]);(0,s.useEffect)((()=>{t&&v&&_()}),[t,v,_]);let S="";if(n){let e=document.baseURI.replace(window.location.origin,"");S=`${window.location.origin}${e}api/v1/buckets/${encodeURIComponent(t)}/objects/download?preview=true&prefix=${encodeURIComponent(n.name||"")}`,n.version_id&&(S=S.concat(`&version_id=${n.version_id}`))}let O=(0,r.IZ)(h,v);const w=()=>{u(!1)};return(0,m.jsxs)(s.Fragment,{children:["none"!==O&&c&&(0,m.jsx)(i.xA9,{item:!0,xs:12,children:(0,m.jsx)(i.z21,{})}),g?(0,m.jsxs)(i.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"===O&&(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:w,children:(0,m.jsx)("source",{src:S,type:"video/mp4"})}),"audio"===O&&(0,m.jsx)("audio",{style:{width:"100%",height:"auto"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:w,children:(0,m.jsx)("source",{src:S,type:"audio/mpeg"})}),"image"===O&&(0,m.jsx)("img",{style:{width:"auto",height:"auto",maxWidth:"100vw",maxHeight:"100vh"},src:S,alt:"preview",onLoad:w}),"pdf"===O&&(0,m.jsx)(s.Fragment,{children:(0,m.jsx)(x,{path:S,onLoad:w,loading:c,downloadFile:()=>(0,p._)(a,t,S,n)})}),"none"===O&&(0,m.jsx)("div",{children:(0,m.jsx)(i.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"!==O&&"video"!==O&&"audio"!==O&&"image"!==O&&"pdf"!==O&&(0,m.jsx)("div",{className:"iframeBase "+(c?"iframeHidden":""),children:(0,m.jsx)("iframe",{src:S,title:"File Preview",allowTransparency:!0,className:`iframeContainer ${o?"fullHeight":O}`,onLoad:w,children:"File couldn't be loaded. Please try Download instead"})})]}):null]})},g=e=>{let{open:t,bucketName:n,actualInfo:a,onClosePreview:l}=e;return(0,m.jsx)(s.Fragment,{children:(0,m.jsx)(o.A,{modalOpen:t,title:`Preview - ${null===a||void 0===a?void 0:a.name}`,onClose:l,wideLimit:!1,titleIcon:(0,m.jsx)(i.jG,{}),children:(0,m.jsx)(b,{bucketName:n,actualInfo:a})})})}},72237:(e,t,n)=>{n.d(t,{A:()=>i});var s=n(65043),o=n(70579);const i=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})})}}},25448:(e,t,n)=>{n.d(t,{A:()=>i});var s=n(65043),o=n(20649);const i=(e,t)=>{const[n,i]=(0,s.useState)(!1);return[n,(n,s,a,l)=>{i(!0),o.A.invoke(n,s,a,l).then((t=>{i(!1),e(t)})).catch((e=>{i(!1),t(e)}))}]}},94141:(e,t,n)=>{n.d(t,{A:()=>c});var s=n(65043),o=n(22166),i=n(89923),a=n(21383),l=n(64159),r=n(49555),d=n(70579);const c=e=>{let{onClose:t,modalOpen:n,title:c,children:u,wideLimit:h=!0,titleIcon:m=null,iconColor:x="default",sx:p}=e;const j=(0,a.jL)(),[b,g]=(0,s.useState)(!1),f=(0,o.d4)((e=>e.system.modalSnackBar));(0,s.useEffect)((()=>{j((0,l.h0)(""))}),[j]),(0,s.useEffect)((()=>{if(f){if(""===f.message)return void g(!1);"error"!==f.type&&g(!0)}}),[f]);let v="";return f&&(v=f.detailedErrorMsg,(""===v||v&&v.length<5)&&(v=f.message)),(0,d.jsxs)(i.ngX,{onClose:t,open:n,title:c,titleIcon:m,widthLimit:h,sx:p,iconColor:x,children:[(0,d.jsx)(r.A,{isModal:!0}),(0,d.jsx)(i.qb_,{onClose:()=>{g(!1),j((0,l.h0)(""))},open:b,message:v,mode:"inline",variant:"error"===f.type?"error":"default",autoHideDuration:"error"===f.type?10:5,condensed:!0}),u]})}},81708:(e,t,n)=>{n.d(t,{Ex:()=>p,HS:()=>h,mS:()=>m,op:()=>u,oz:()=>x});var s=n(80907),o=n(56483),i=n(37414),a=n(93445),l=n(6035),r=n(64159),d=n(24241),c=n(56629);const u=(0,s.zD)("objectBrowser/downloadSelected",(async(e,t)=>{let{getState:n,rejectWithValue:s,dispatch:c}=t;const u=n(),h=t=>{const n=encodeURIComponent(`${e}-${t.name}-${(new Date).getTime()}-${Math.random()}`),s=(0,i.E0)(8),o=(0,a.RG)(e,t.name,t.version_id,t.size,null,s,(e=>{c((0,l.DW)({instanceID:n,progress:e}))}),(()=>{c((0,l.rx)(n))}),(e=>{c((0,l.iL)({instanceID:n,msg:e}))}),(()=>{c((0,l.Dm)(n))}),(()=>{c((0,r.Hk)("File download will be handled directly by the browser."))}));(0,i.FP)(s,o),c((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 c((0,l.Ew)(t[0]));h(t[0])}else if(1===t.length)h(t[0]);else if(t.length>1){const n=`${d.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 ${null===t||void 0===t?void 0:t.name} from download.`),e}),[]);return void await(0,a.Fj)(e,s,n)}}})),h=(0,s.zD)("objectBrowser/openPreview",(async(e,t)=>{let{getState:n,rejectWithValue:s,dispatch:o}=t;const i=n();if(1===i.objectBrowser.selectedObjects.length){let e;const t=e=>i.objectBrowser.selectedObjects.includes(e.name);e=i.objectBrowser.records.find(t),e&&(o((0,l.go)(e)),o((0,l.xE)(!0)))}})),m=(0,s.zD)("objectBrowser/openShare",(async(e,t)=>{let{getState:n,rejectWithValue:s,dispatch:o}=t;const i=n();if(1===i.objectBrowser.selectedObjects.length){let e;const t=e=>i.objectBrowser.selectedObjects.includes(e.name);e=i.objectBrowser.records.find(t),e&&(o((0,l.go)(e)),o((0,l.Lf)(!0)))}})),x=(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 c.F.buckets.getMaxShareLinkExp().then((e=>{s((0,l.QV)(e.data.exp))})).catch((async e=>n(e.error)))}))},48245:(e,t,n)=>{n.d(t,{_:()=>r});var s=n(56483),o=n(37414),i=n(93445),a=n(6035),l=n(64159);const r=(e,t,n,r)=>{var d;const c=encodeURIComponent(`${t}-${r.name}-${(new Date).getTime()}-${Math.random()}`),u=(0,s.oK)().toLowerCase().includes("win");if(((null===(d=r.name)||void 0===d?void 0:d.length)||0)>200&&u)return void e((0,a.Jl)(!0));const h=(0,o.E0)(8),m=(0,i.RG)(t,n,r.version_id,r.size||0,null,h,(t=>{e((0,a.DW)({instanceID:c,progress:t}))}),(()=>{e((0,a.rx)(c))}),(t=>{e((0,a.iL)({instanceID:c,msg:t}))}),(()=>{e((0,a.Dm)(c))}),(()=>{e((0,l.Hk)("File download will be handled directly by the browser."))}));(0,o.FP)(h,m),e((0,a.cP)({ID:h,bucketName:t,done:!1,instanceID:c,percentage:0,prefix:r.name||"",type:"download",waitingForFile:!0,failed:!1,cancelled:!1,errorMessage:""}))}}}]);
+//# sourceMappingURL=182.6e133743.chunk.js.map
\ No newline at end of file
diff --git a/web-app/build/static/js/182.6e133743.chunk.js.map b/web-app/build/static/js/182.6e133743.chunk.js.map
new file mode 100644
index 000000000..ca3cacbbd
--- /dev/null
+++ b/web-app/build/static/js/182.6e133743.chunk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"static/js/182.6e133743.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/Tools/KeyRevealer.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/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/ObjectBrowser/objectBrowserThunks.ts","screens/Console/ObjectBrowser/utils.ts"],"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 { 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/${encodeURIComponent(bucketName)}/${\n subSplit ? `${encodeURIComponent(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 ? `/${encodeURIComponent(`${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\nconst 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\nexport const sanitizeFilePath = (filePath: string) => {\n // Replace `./` at the start of the path or preceded by `/` - happens when drag drop upload of files (not folders !) in chrome\n return filePath.replace(/(^|\\/)\\.\\//g, \"/\");\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 { 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: 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: 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 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 recursive = selectedObject.endsWith(\"/\");\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/buckets/${encodeURIComponent(selectedBucket)}/objects?prefix=${encodeURIComponent(selectedObject)}${\n selectedVersion !== \"\"\n ? `&version_id=${encodeURIComponent(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 {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 { 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: 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 { 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 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: actualInfo.name || \"\", 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: actualInfo.name || \"\", 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 { 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","// 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 deleteCookie,\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 let basename = document.baseURI.replace(window.location.origin, \"\");\n const urlOfInspectApi = `${window.location.origin}${basename}/api/v1/admin/inspect?volume=${encodeURIComponent(volumeName)}&file=${encodeURIComponent(inspectPath + \"/xl.meta\")}&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 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 = 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 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: 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 { 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 {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 { niceTimeFromSeconds } 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\";\nimport debounce from \"lodash/debounce\";\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 debouncedDateChange = debounce((newDate: string, isValid: boolean) => {\n setDateValid(isValid);\n if (isValid) {\n setSelectedDate(newDate);\n return;\n }\n setSelectedDate(\"\");\n setShareURL(\"\");\n }, 300);\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: 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: 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.mjs\";\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 { 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 api.buckets\n .getObjectMetadata(bucketName, {\n prefix: objectName,\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 let basename = document.baseURI.replace(window.location.origin, \"\");\n path = `${window.location.origin}${basename}api/v1/buckets/${encodeURIComponent(bucketName)}/objects/download?preview=true&prefix=${encodeURIComponent(actualInfo.name || \"\")}`;\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","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction,\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any, headers?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data, headers)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\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 .\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { ModalBox, Snackbar } from \"mds\";\nimport { CSSObject } from \"styled-components\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n titleIcon?: React.ReactNode;\n iconColor?: \"default\" | \"delete\" | \"accept\";\n sx?: CSSObject;\n}\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n wideLimit = true,\n titleIcon = null,\n iconColor = \"default\",\n sx,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar,\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (message === \"\" || (message && message.length < 5)) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n \n \n \n {children}\n \n );\n};\n\nexport default ModalWrapper;\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 { 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 = encodeURIComponent(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`,\n );\n\n const ID = makeid(8);\n\n const downloadCall = download(\n bucketName,\n 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 { 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 = encodeURIComponent(\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"],"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","sessionGrantKeyPath","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","encodeURIComponent","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","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","addRetention","expireDate","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","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","shown","setShown","sm","overlayIcon","readOnly","overlayAction","navigator","clipboard","writeText","closeInspectModalAndRefresh","inspectOpen","inspectPath","volumeName","isEncrypt","setIsEncrypt","decryptionKey","setDecryptionKey","insFileName","setInsFileName","InspectMenuIcon","async","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","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","decodeURIComponent","currentPath","i","concat","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","resetRewind","setAttribute","isPrefix","getBucketQuota","quotaVals","detailedMessage","setBucketDetailsLoad","setBucketInfo","getBucketRetentionConfig","setRetentionConfig","handleUploadButton","files","newFiles","uploadObject","folderPath","pathPrefix","upload","uploadPromise","file","Promise","resolve","reject","uploadUrl","blobFile","Blob","filePath","sanitizeFilePath","fileWebkitRelativePath","relativeFolderPath","ID","makeid","prefixPath","finalFolderPath","pathClean","startsWith","identity","Math","random","xhr","XMLHttpRequest","setRequestHeader","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","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","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","setLoadingVersioning","setLoadingLocking","getBucketVersioning","setIsVersioned","getBucketObjectLockingStatus","setLockingEnabled","object_locking_enabled","OBHeader","maxSeconds","entity","maxDays","maxHours","maxMinutes","selectedDays","setSelectedDays","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","setValidDate","dateSelected","setDateSelected","calculateNewTime","hours","minutes","plus","toISO","formattedDate","valid","extraStyles","paddingLeft","min","max","LinkIcon","maxShareLinkExpTimeVal","maxShareLinkExpTime","shareURL","setShareURL","isLoadingVersion","setIsLoadingVersion","isLoadingFile","setIsLoadingFile","selectedDate","setSelectedDate","dateValid","setDateValid","setVersionID","debouncedDateChange","debounce","newDate","getMaxShareLinkExpTime","latestVersion","elem","slDate","currDate","diffDate","ceil","shareObject","niceTimeFromSeconds","DaysSelector","ReadBox","actionButton","setModalSnackMessage","pdfjs","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","onSuccess","onError","setIsLoading","callApi","invoke","openSnackbar","setOpenSnackbar","modalSnackMessage","modalSnackBar","detailedErrorMsg","ModalBox","widthLimit","MainError","isModal","Snackbar","closeSnackBar","autoHideDuration","condensed","createAsyncThunk","getState","rejectWithValue","identityDownload","downloadCall","download","itemsToDownload","filterFunction","getClientOS","multiObjList","dwList","bi","isDeleted","downloadSelectedAsZip","fileObject","findFunction","_ref3","_ref4","_ref5","getMaxShareLinkExp","setMaxShareLinkExpTime","exp","isWinOs"],"sourceRoot":""}
\ No newline at end of file
diff --git a/web-app/build/static/js/182.a230b8d1.chunk.js.map b/web-app/build/static/js/182.a230b8d1.chunk.js.map
deleted file mode 100644
index 4069b3f97..000000000
--- a/web-app/build/static/js/182.a230b8d1.chunk.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"static/js/182.a230b8d1.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/Tools/KeyRevealer.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/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/ObjectBrowser/objectBrowserThunks.ts","screens/Console/ObjectBrowser/utils.ts"],"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 { 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/${encodeURIComponent(bucketName)}/${\n subSplit ? `${encodeURIComponent(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 ? `/${encodeURIComponent(`${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\nconst 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 { 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: 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: 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 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 recursive = selectedObject.endsWith(\"/\");\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/buckets/${encodeURIComponent(selectedBucket)}/objects?prefix=${encodeURIComponent(selectedObject)}${\n selectedVersion !== \"\"\n ? `&version_id=${encodeURIComponent(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 {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 { 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: 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 { 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 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: actualInfo.name || \"\", 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: actualInfo.name || \"\", 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 { 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","// 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 deleteCookie,\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 let basename = document.baseURI.replace(window.location.origin, \"\");\n const urlOfInspectApi = `${window.location.origin}${basename}/api/v1/admin/inspect?volume=${encodeURIComponent(volumeName)}&file=${encodeURIComponent(inspectPath + \"/xl.meta\")}&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 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 = 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 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: 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 { 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 {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 { niceTimeFromSeconds } 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\";\nimport debounce from \"lodash/debounce\";\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 debouncedDateChange = debounce((newDate: string, isValid: boolean) => {\n setDateValid(isValid);\n if (isValid) {\n setSelectedDate(newDate);\n return;\n }\n setSelectedDate(\"\");\n setShareURL(\"\");\n }, 300);\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: 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: 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.mjs\";\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 { 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 api.buckets\n .getObjectMetadata(bucketName, {\n prefix: objectName,\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 let basename = document.baseURI.replace(window.location.origin, \"\");\n path = `${window.location.origin}${basename}api/v1/buckets/${encodeURIComponent(bucketName)}/objects/download?preview=true&prefix=${encodeURIComponent(actualInfo.name || \"\")}`;\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","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction,\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any, headers?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data, headers)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\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 .\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { ModalBox, Snackbar } from \"mds\";\nimport { CSSObject } from \"styled-components\";\nimport { AppState, useAppDispatch } from \"../../../../store\";\nimport { setModalSnackMessage } from \"../../../../systemSlice\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n titleIcon?: React.ReactNode;\n iconColor?: \"default\" | \"delete\" | \"accept\";\n sx?: CSSObject;\n}\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n wideLimit = true,\n titleIcon = null,\n iconColor = \"default\",\n sx,\n}: IModalProps) => {\n const dispatch = useAppDispatch();\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n const modalSnackMessage = useSelector(\n (state: AppState) => state.system.modalSnackBar,\n );\n\n useEffect(() => {\n dispatch(setModalSnackMessage(\"\"));\n }, [dispatch]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n dispatch(setModalSnackMessage(\"\"));\n };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (message === \"\" || (message && message.length < 5)) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n \n \n \n {children}\n \n );\n};\n\nexport default ModalWrapper;\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 { 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 = encodeURIComponent(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`,\n );\n\n const ID = makeid(8);\n\n const downloadCall = download(\n bucketName,\n 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 { 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 = encodeURIComponent(\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"],"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","sessionGrantKeyPath","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","encodeURIComponent","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","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","addRetention","expireDate","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","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","shown","setShown","sm","overlayIcon","readOnly","overlayAction","navigator","clipboard","writeText","closeInspectModalAndRefresh","inspectOpen","inspectPath","volumeName","isEncrypt","setIsEncrypt","decryptionKey","setDecryptionKey","insFileName","setInsFileName","InspectMenuIcon","async","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","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","decodeURIComponent","currentPath","i","concat","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","resetRewind","setAttribute","isPrefix","getBucketQuota","quotaVals","detailedMessage","setBucketDetailsLoad","setBucketInfo","getBucketRetentionConfig","setRetentionConfig","handleUploadButton","files","newFiles","uploadObject","folderPath","pathPrefix","upload","uploadPromise","file","Promise","resolve","reject","uploadUrl","blobFile","Blob","filePath","fileWebkitRelativePath","relativeFolderPath","ID","makeid","prefixPath","finalFolderPath","pathClean","startsWith","identity","Math","random","xhr","XMLHttpRequest","setRequestHeader","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","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","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","setLoadingVersioning","setLoadingLocking","getBucketVersioning","setIsVersioned","getBucketObjectLockingStatus","setLockingEnabled","object_locking_enabled","OBHeader","maxSeconds","entity","maxDays","maxHours","maxMinutes","selectedDays","setSelectedDays","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","setValidDate","dateSelected","setDateSelected","calculateNewTime","hours","minutes","plus","toISO","formattedDate","valid","extraStyles","paddingLeft","min","max","LinkIcon","maxShareLinkExpTimeVal","maxShareLinkExpTime","shareURL","setShareURL","isLoadingVersion","setIsLoadingVersion","isLoadingFile","setIsLoadingFile","selectedDate","setSelectedDate","dateValid","setDateValid","setVersionID","debouncedDateChange","debounce","newDate","getMaxShareLinkExpTime","latestVersion","elem","slDate","currDate","diffDate","ceil","shareObject","niceTimeFromSeconds","DaysSelector","ReadBox","actionButton","setModalSnackMessage","pdfjs","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","onSuccess","onError","setIsLoading","callApi","invoke","openSnackbar","setOpenSnackbar","modalSnackMessage","modalSnackBar","detailedErrorMsg","ModalBox","widthLimit","MainError","isModal","Snackbar","closeSnackBar","autoHideDuration","condensed","createAsyncThunk","getState","rejectWithValue","identityDownload","downloadCall","download","itemsToDownload","filterFunction","getClientOS","multiObjList","dwList","bi","isDeleted","downloadSelectedAsZip","fileObject","findFunction","_ref3","_ref4","_ref5","getMaxShareLinkExp","setMaxShareLinkExpTime","exp","isWinOs"],"sourceRoot":""}
\ No newline at end of file
diff --git a/web-app/build/static/js/2138.fad0ce4b.chunk.js b/web-app/build/static/js/2138.a8c39913.chunk.js
similarity index 89%
rename from web-app/build/static/js/2138.fad0ce4b.chunk.js
rename to web-app/build/static/js/2138.a8c39913.chunk.js
index 068c3cabc..a91bf1c42 100644
--- a/web-app/build/static/js/2138.fad0ce4b.chunk.js
+++ b/web-app/build/static/js/2138.a8c39913.chunk.js
@@ -1,2 +1,2 @@
-"use strict";(self.webpackChunkweb_app=self.webpackChunkweb_app||[]).push([[2138],{48967:(e,i,t)=>{t.d(i,{A:()=>p});var r=t(65043),s=t(56629),n=t(53518),l=t(58661),a=t(89923),o=t(64159),d=t(21383),c=t(70579);const p=e=>{let{configurationName:i,closeResetModalAndRefresh:t,resetOpen:p}=e;const x=(0,d.jL)(),[u,h]=(0,r.useState)(!1);(0,r.useEffect)((()=>{u&&s.F.configs.resetConfig(i).then((()=>{h(!1),t(!0)})).catch((e=>{h(!1),x((0,o.C9)((0,n.S)(e.error)))}))}),[t,i,u,x]);return(0,c.jsx)(l.A,{title:"Restore Defaults",confirmText:"Yes, Reset Configuration",isOpen:p,titleIcon:(0,c.jsx)(a.xWY,{}),isLoading:u,onConfirm:()=>{h(!0)},onClose:()=>{t(!1)},confirmationContent:(0,c.jsxs)(r.Fragment,{children:[u&&(0,c.jsx)(a.z21,{}),(0,c.jsxs)(r.Fragment,{children:["Are you sure you want to restore these configurations to default values?",(0,c.jsx)("br",{}),(0,c.jsx)("b",{style:{maxWidth:"200px",whiteSpace:"normal",wordWrap:"break-word"},children:"Please note that this may cause your system to not be accessible"})]})]})})}},38392:(e,i,t)=>{t.d(i,{A:()=>a});var r=t(65043),s=t(89923),n=t(70579);const l=e=>{let{icon:i,description:t}=e;return(0,n.jsxs)(s.azJ,{sx:{display:"flex","& .min-icon":{marginRight:"10px",height:"23px",width:"23px",marginBottom:"10px"}},children:[i," ",(0,n.jsx)("div",{style:{fontSize:"14px",fontStyle:"italic",color:"#5E5E5E"},children:t})]})},a=e=>{let{helpText:i,docLink:t,docText:a,contents:o}=e;return(0,n.jsxs)(s.azJ,{sx:{flex:1,border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"20px"},children:[(0,n.jsxs)(s.azJ,{sx:{fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center",marginBottom:"16px",paddingBottom:"20px","& .min-icon":{height:"21px",width:"21px",marginRight:"15px"}},children:[(0,n.jsx)(s.nag,{}),(0,n.jsx)("div",{children:i})]}),(0,n.jsxs)(s.azJ,{sx:{fontSize:"14px",marginBottom:"15px"},children:[o.map(((e,i)=>(0,n.jsxs)(r.Fragment,{children:[e.icon&&(0,n.jsx)(s.azJ,{sx:{paddingBottom:"20px"},children:(0,n.jsx)(l,{icon:e.icon,description:e.iconDescription})}),(0,n.jsx)(s.azJ,{sx:{paddingBottom:"20px"},children:e.text})]},`feature-item-${i}`))),(0,n.jsx)(s.azJ,{sx:{paddingBottom:"20px"},children:(0,n.jsx)("a",{href:t,target:"_blank",rel:"noopener",children:a})})]})]})}},2138:(e,i,t)=>{t.r(i),t.d(i,{default:()=>D});var r=t(65043),s=t(89923),n=t(56629),l=t(53518),a=t(21383),o=t(64159),d=t(42349),c=t(48793),p=t(38392),x=t(22166),u=t(24241),h=t(70579);const m=e=>{let{name:i}=e;return(0,h.jsxs)("h4",{children:[(0,h.jsx)(s.FUY,{style:{transform:"rotateZ(90deg)"}}),i]})},g=e=>{let{blockName:i,results:t}=e;return(0,h.jsxs)(r.Fragment,{children:[(0,h.jsxs)("strong",{children:[i,":"]}),(0,h.jsx)("ul",{children:t.map(((e,t)=>(0,h.jsx)("li",{children:e},`policy-${i}-${t}`)))})]})},f=e=>{var i,t,n,l,a,o;let{entityName:d,results:c}=e,p=0;switch(d){case"Group":p=(null===(i=c.groups)||void 0===i?void 0:i.length)||0;break;case"Policy":p=(null===(t=c.policies)||void 0===t?void 0:t.length)||0;break;case"User":p=(null===(n=c.users)||void 0===n?void 0:n.length)||0}return(0,h.jsxs)(s.azJ,{className:"resultElement",sx:{marginTop:50,"&:first-of-type":{marginTop:0}},children:[(0,h.jsxs)(s._xt,{separator:!0,sx:{fontSize:12},icon:(0,h.jsx)(s.Xk0,{style:{width:17,height:17}}),actions:(0,h.jsxs)(s.azJ,{sx:{fontSize:14},children:[(0,h.jsx)("strong",{children:p})," Entit",1===p?"y":"ies"," Found"]}),children:[d," Mappings"]}),(0,h.jsxs)(s.azJ,{className:"resultsList",sx:{h4:{borderBottom:"#e2e2e2 1px solid",padding:"12px 0",margin:0,marginBottom:15,display:"flex",alignItems:"center","& svg":{marginRight:10,fill:"#3C77A7"}}},children:["Group"===d&&(null===(l=c.groups)||void 0===l?void 0:l.map(((e,i)=>(0,h.jsxs)(r.Fragment,{children:[(0,h.jsx)(m,{name:e.group||""}),e.policies&&(0,h.jsx)(g,{blockName:"Policies",results:e.policies})]},`policy-res-${i}`)))),"User"===d&&(null===(a=c.users)||void 0===a?void 0:a.map(((e,i)=>(0,h.jsxs)(r.Fragment,{children:[(0,h.jsx)(m,{name:e.user||""}),e.policies&&(0,h.jsx)(g,{blockName:"Policies",results:e.policies})]},`users-res-${i}`)))),"Policy"===d&&(null===(o=c.policies)||void 0===o?void 0:o.map(((e,i)=>(0,h.jsxs)(r.Fragment,{children:[(0,h.jsx)(m,{name:e.policy||""}),e.groups&&(0,h.jsx)(g,{blockName:"Groups",results:e.groups}),e.users&&(0,h.jsx)(g,{blockName:"Users",results:e.users})]},`policy-map-${i}`))))]})]})};var y=t(42967);const j=()=>{const e=(0,a.jL)(),[i,t]=(0,r.useState)(!1),[d,c]=(0,r.useState)([""]),[p,m]=(0,r.useState)([""]),[g,j]=(0,r.useState)(null),b=(0,x.d4)((e=>e.createUser.selectedPolicies));return(0,h.jsxs)(s.azJ,{sx:{marginTop:15,paddingTop:0},children:[(0,h.jsxs)(s.xA9,{container:!0,sx:{marginTop:5},children:[(0,h.jsxs)(s.xA9,{item:!0,sm:12,md:6,lg:5,sx:{padding:10,paddingTop:0},children:[(0,h.jsx)(s._xt,{children:"Query Filters"}),(0,h.jsxs)(s.azJ,{sx:{padding:"0 10px",display:"flex",flexDirection:"column",gap:40},children:[(0,h.jsxs)(s.azJ,{sx:{padding:"10px 26px"},withBorders:!0,children:[(0,h.jsx)(s.azJ,{sx:{display:"flex"},children:(0,h.jsx)("h4",{style:{margin:0,marginBottom:10,fontSize:14},children:"Users"})}),(0,h.jsx)(s.azJ,{sx:{overflowY:"auto",minHeight:50,maxHeight:250,"& > div > div":{width:"100%"}},children:d.map(((e,i)=>(0,h.jsx)(s.cl_,{id:`search-user-${i}`,value:e,onChange:e=>{const t=[...d];t[i]=e.target.value,c(t)},overlayIcon:d.length===i+1?(0,h.jsx)(s.REV,{}):(0,h.jsx)(s.YPx,{}),overlayAction:()=>{((e,i)=>{if(e){const e=[...d,""];return void c(e)}const t=d.filter(((e,t)=>t!==i));c(t)})(d.length===i+1,i)}},`search-user-${i}`)))})]}),(0,h.jsxs)(s.azJ,{sx:{padding:"10px 26px"},withBorders:!0,children:[(0,h.jsx)("h4",{style:{margin:0,marginBottom:10,fontSize:14},children:"Groups"}),(0,h.jsx)(s.azJ,{sx:{overflowY:"auto",minHeight:50,maxHeight:"calc(100vh - 340px)","& > div > div":{width:"100%"}},children:p.map(((e,i)=>(0,h.jsx)(s.cl_,{id:`search-group-${i}`,value:e,onChange:e=>{const t=[...p];t[i]=e.target.value,m(t)},overlayIcon:p.length===i+1?(0,h.jsx)(s.REV,{}):(0,h.jsx)(s.YPx,{}),overlayAction:()=>{((e,i)=>{if(e){const e=[...p,""];return void m(e)}const t=p.filter(((e,t)=>t!==i));m(t)})(p.length===i+1,i)}},`search-group-${i}`)))})]}),(0,h.jsxs)(s.azJ,{sx:{padding:"10px 26px"},withBorders:!0,children:[(0,h.jsx)("h4",{style:{margin:0,marginBottom:10,fontSize:14},children:"Policies"}),(0,h.jsx)(s.azJ,{sx:{minHeight:265,maxHeight:"calc(100vh - 740px)"},children:(0,h.jsx)(y.A,{selectedPolicy:b,noTitle:!0})})]})]})]}),(0,h.jsx)(s.xA9,{item:!0,sm:12,md:6,lg:7,sx:{padding:10,paddingTop:0,display:"flex",flexDirection:"column"},children:i?(0,h.jsx)(s.azJ,{sx:{textAlign:"center"},children:(0,h.jsx)(s.aHM,{})}):(0,h.jsxs)(r.Fragment,{children:[(0,h.jsx)(s._xt,{actions:(0,h.jsx)(s.azJ,{sx:{display:"flex",flexDirection:"row",alignItems:"center",fontSize:14},children:null!==g&&void 0!==g&&g.timestamp?(0,h.jsxs)(r.Fragment,{children:[(0,h.jsx)(s.b1c,{style:{width:14,height:14,marginRight:5,fill:"#BEBFBF"}}),u.c9.fromISO(g.timestamp).toFormat("D HH:mm:ss")]}):""}),children:"Query Results"}),g?(0,h.jsxs)(s.azJ,{sx:{backgroundColor:"#FBFAFA",padding:"8px 22px",flexGrow:1,overflowY:"auto"},children:[!g.groups&&!g.users&&!g.policies&&(0,h.jsx)(s.azJ,{sx:{textAlign:"center"},children:(0,h.jsx)("h4",{children:"No Results Available"})}),!!g.groups&&(0,h.jsx)(f,{results:g,entityName:"Group"}),!!g.users&&(0,h.jsx)(f,{results:g,entityName:"User"}),!!g.policies&&(0,h.jsx)(f,{results:g,entityName:"Policy"})]}):(0,h.jsx)(s.azJ,{sx:{textAlign:"center"},children:"No query results yet"})]})})]}),(0,h.jsx)(s.xA9,{container:!0,children:(0,h.jsx)(s.xA9,{item:!0,xs:12,sx:{display:"flex",justifyContent:"flex-start",marginTop:45,padding:"0 20px"},children:(0,h.jsx)(s.$nd,{id:"search-entity",type:"button",variant:"callAction",onClick:()=>{t(!0);let i={},r=b.filter((e=>""!==e)),s=d.filter((e=>""!==e)),a=p.filter((e=>""!==e));r.length>0&&(i.policies=r),s.length>0&&(i.users=s),a.length>0&&(i.groups=a),n.F.ldapEntities.getLdapEntities(i).then((e=>{j(e.data),t(!1)})).catch((i=>{e((0,o.C9)((0,l.S)(i.error))),t(!1)}))},icon:(0,h.jsx)(s.WIv,{}),children:"Search"})})})]})};var b=t(48967),v=t(88617);const C=["server_addr","lookup_bind_dn","user_dn_search_base_dn","user_dn_search_filter"],D=()=>{const e=(0,a.jL)(),i=d.Lq,[t,x]=(0,r.useState)(!0),[u,m]=(0,r.useState)(!1),[g,f]=(0,r.useState)(!1),[y,D]=(0,r.useState)({}),[_,A]=(0,r.useState)({}),[k,S]=(0,r.useState)(void 0),[w,P]=(0,r.useState)(!1),[E,I]=(0,r.useState)(!1),[O,z]=(0,r.useState)("configuration"),[L,F]=(0,r.useState)(!1),N=()=>{w&&k&&q(k),P(!w)},q=e=>{let i={},t={};if(e&&e.length>0){const r=e.find((e=>"enable"===e.key));let s=0,n=0;e.forEach((e=>{e.env_override?(i[e.key]=e.env_override.value,t[e.key]=e.env_override.name):i[e.key]=e.value,C.includes(e.key)&&(e.value&&""!==e.value&&"off"!==e.value||e.env_override&&""!==e.env_override.value&&"off"!==e.env_override.value)&&s++,C.includes(e.key)&&e.env_override&&n++}));const l=0!==s;l&&(r&&"off"!==r.value||!r)?m(!0):m(!1),0!==n&&F(!0),f(l)}A(t),D(i)};(0,r.useEffect)((()=>{t&&n.F.configs.configInfo("identity_ldap").then((e=>{e.data.length>0&&(S(e.data[0].key_values),q(e.data[0].key_values||[])),x(!1)})).catch((i=>{x(!1),e((0,o.C9)((0,l.S)(i.error)))}))}),[e,t]);return(0,r.useEffect)((()=>{e((0,o.ph)("LDAP"))}),[]),(0,h.jsxs)(s.xA9,{item:!0,xs:12,children:[E&&(0,h.jsx)(b.A,{configurationName:"identity_ldap",closeResetModalAndRefresh:async i=>{I(!1),i&&(e((0,o.YR)(i)),S(void 0),D({}),m(!1),f(!1),P(!1))},resetOpen:E}),(0,h.jsx)(c.A,{label:"LDAP",actions:(0,h.jsx)(v.A,{})}),(0,h.jsx)(s.Mxu,{variant:"constrained",children:(0,h.jsx)(s.tUM,{horizontal:!0,options:[{tabConfig:{id:"configuration",label:"Configuration"},content:(0,h.jsxs)(r.Fragment,{children:[(0,h.jsx)(s.lcx,{icon:null,title:w?"Edit Configuration":"",actions:w?null:(0,h.jsxs)(r.Fragment,{children:[(0,h.jsx)(s.m_M,{tooltip:L?"Configuration cannot be edited in this module as LDAP environment variables are set for this MinIO instance.":"",children:(0,h.jsx)(s.$nd,{id:"edit",type:"button",variant:"callAction",icon:(0,h.jsx)(s.qUP,{}),onClick:N,label:"Edit Configuration",disabled:t||L})}),g&&(0,h.jsx)(s.m_M,{tooltip:L?"Configuration cannot be disabled / enabled in this module as LDAP environment variables are set for this MinIO instance.":"",children:(0,h.jsx)(s.$nd,{id:"is-configuration-enabled",onClick:()=>(i=>{const t={key_values:[{key:"enable",value:i?"on":"off"}]};n.F.configs.setConfig("identity_ldap",t).then((i=>{m(!u),e((0,o.YR)(i.data.restart||!1)),i.data.restart||e((0,o.Hk)("Configuration saved successfully"))})).catch((i=>{e((0,o.C9)((0,l.S)(i.error)))}))})(!u),label:u?"Disable LDAP":"Enable LDAP",variant:u?"secondary":"regular",disabled:L})}),(0,h.jsx)(s.$nd,{id:"refresh-idp-config",onClick:()=>x(!0),label:"Refresh",icon:(0,h.jsx)(s.fNY,{})})]})}),(0,h.jsx)("br",{}),t?(0,h.jsx)(s.azJ,{sx:{display:"flex",justifyContent:"center",marginTop:10},children:(0,h.jsx)(s.aHM,{})}):(0,h.jsx)(r.Fragment,{children:w?(0,h.jsx)(r.Fragment,{children:(0,h.jsxs)(s.Hbc,{helpBox:(0,h.jsx)(p.A,{helpText:"Learn more about LDAP Configurations",contents:d.iT,docLink:"https://min.io/docs/minio/linux/operations/external-iam.html?ref=con#minio-external-iam-ad-ldap",docText:"Learn more about LDAP Configurations"}),children:[w&&g?(0,h.jsx)(s.azJ,{sx:{marginBottom:15},children:(0,h.jsx)(s.lVp,{title:(0,h.jsx)(s.azJ,{style:{display:"flex",justifyContent:"space-between",alignItems:"center",flexGrow:1},children:"Lookup Bind Password must be re-entered to change LDAP configurations"}),iconComponent:(0,h.jsx)(s.cJw,{}),help:null})}):null,Object.entries(i).map((e=>{let[i,t]=e;return((e,i)=>"toggle"===i.type?(0,h.jsx)(s.dOG,{indicatorLabels:["Enabled","Disabled"],checked:"on"===y[e],value:"is-field-enabled",id:"is-field-enabled",name:"is-field-enabled",label:i.label,tooltip:i.tooltip,onChange:i=>D({...y,[e]:i.target.checked?"on":"off"}),description:"",disabled:!w},e):(0,h.jsx)(s.cl_,{id:e,required:i.required,name:e,label:i.label,tooltip:i.tooltip,error:i.hasError(y[e],w),value:y[e]?y[e]:"",onChange:i=>D({...y,[e]:i.target.value}),placeholder:i.placeholder,disabled:!w,type:i.type},e))(i,t)})),(0,h.jsxs)(s.azJ,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end",marginTop:"20px",gap:"15px"},children:[w&&g&&(0,h.jsx)(s.$nd,{id:"clear",type:"button",variant:"secondary",onClick:()=>I(!0),label:"Reset Configuration"}),(0,h.jsx)(s.$nd,{id:"cancel",type:"button",variant:"regular",onClick:N,label:"Cancel"}),(0,h.jsx)(s.$nd,{id:"save-key",type:"submit",variant:"callAction",color:"primary",disabled:t||!(()=>{for(const[e,t]of Object.entries(i))if(t.required&&(void 0===y[e]||null===y[e]||""===y[e]))return!1;return!0})(),label:"Save",onClick:()=>{const t=Object.keys(i).map((e=>({key:e,value:y[e]})));n.F.configs.setConfig("identity_ldap",{key_values:t}).then((i=>{P(!1),S(t),q(t),e((0,o.YR)(i.data.restart||!1)),D({...y,lookup_bind_password:""}),i.data.restart||e((0,o.Hk)("Configuration saved successfully"))})).catch((i=>{e((0,o.C9)((0,l.S)(i.error)))}))}})]})]})}):(0,h.jsx)(r.Fragment,{children:(0,h.jsxs)(s.azJ,{sx:{display:"grid",gridTemplateColumns:"1fr",gridAutoFlow:"dense",gap:3,padding:"15px",border:"1px solid #eaeaea","@media (min-width: 576px)":{gridTemplateColumns:"2fr 1fr",gridAutoFlow:"row"}},children:[(0,h.jsx)(s.mZW,{label:"LDAP Enabled",value:u?"Yes":"No"}),g&&(0,h.jsx)(r.Fragment,{children:Object.entries(i).map((e=>{let[i,t]=e;if(!t.editOnly){let e=t.label,r=y[i]?y[i]:"";return _[i]&&(e=(0,h.jsxs)(s.azJ,{sx:{display:"flex",alignItems:"center",gap:5,"& .min-icon":{height:20,width:20},"& span":{height:20,display:"flex",alignItems:"center"}},children:[(0,h.jsx)("span",{children:t.label}),(0,h.jsx)(s.m_M,{tooltip:`This value is set from the ${_[i]} environment variable`,placement:"right",children:(0,h.jsx)("span",{className:"muted",children:(0,h.jsx)(s.D0K,{})})})]}),r=(0,h.jsx)("i",{children:(0,h.jsx)("span",{className:"muted",children:r})})),(0,h.jsx)(s.mZW,{label:e,value:r},i)}return null}))})]})})})]})},{tabConfig:{id:"entities",label:"Entities",disabled:!g||!u},content:(0,h.jsx)(r.Fragment,{children:g&&(0,h.jsx)(s.azJ,{children:(0,h.jsx)(j,{})})})}],currentTabOrPath:O,onTabClick:e=>{z(e),P(!1)}})})]})}},42349:(e,i,t)=>{t.d(i,{G5:()=>l,Lq:()=>o,Vb:()=>a,iT:()=>n});var r=t(89923),s=t(70579);const n=[{text:"MinIO supports using an Active Directory or LDAP (AD/LDAP) service for external management of user identities. Configuring an external IDentity Provider (IDP) enables Single-Sign On (SSO) workflows, where applications authenticate against the external IDP before accessing MinIO.",icon:(0,s.jsx)(r.Tir,{}),iconDescription:"Create Configurations"},{text:"MinIO queries the configured Active Directory / LDAP server to verify the credentials specified by the application and optionally return a list of groups in which the user has membership. MinIO supports two modes (Lookup-Bind Mode and Username-Bind Mode) for performing these queries",icon:null,iconDescription:""},{text:"MinIO recommends using Lookup-Bind mode as the preferred method for verifying AD/LDAP credentials. Username-Bind mode is a legacy method retained for backwards compatibility only.",icon:null,iconDescription:""}],l=[{text:"MinIO supports using an OpenID Connect (OIDC) compatible IDentity Provider (IDP) such as Okta, KeyCloak, Dex, Google, or Facebook for external management of user identities.",icon:(0,s.jsx)(r.XAi,{}),iconDescription:"Create Configurations"},{text:"Configuring an external IDP enables Single-Sign On workflows, where applications authenticate against the external IDP before accessing MinIO.",icon:null,iconDescription:""}],a={config_url:{required:!0,hasError:(e,i)=>!e&&i?"Config URL is required":"",label:"Config URL",tooltip:"Config URL for identity provider configuration",placeholder:"https://identity-provider-url/.well-known/openid-configuration",type:"text",editOnly:!1},client_id:{required:!0,hasError:(e,i)=>!e&&i?"Client ID is required":"",label:"Client ID",tooltip:"Identity provider Client ID",placeholder:"Enter Client ID",type:"text",editOnly:!1},client_secret:{required:!0,hasError:(e,i)=>!e&&i?"Client Secret is required":"",label:"Client Secret",tooltip:"Identity provider Client Secret",placeholder:"Enter Client Secret",type:"password",editOnly:!0},claim_name:{required:!1,label:"Claim Name",tooltip:"Claim from which MinIO will read the policy or role to use",placeholder:"Enter Claim Name",type:"text",hasError:(e,i)=>"",editOnly:!1},display_name:{required:!1,label:"Display Name",tooltip:"",placeholder:"Enter Display Name",type:"text",hasError:(e,i)=>"",editOnly:!1},claim_prefix:{required:!1,label:"Claim Prefix",tooltip:"",placeholder:"Enter Claim Prefix",type:"text",hasError:(e,i)=>"",editOnly:!1},scopes:{required:!1,label:"Scopes",tooltip:"",placeholder:"openid,profile,email",type:"text",hasError:(e,i)=>"",editOnly:!1},redirect_uri:{required:!1,label:"Redirect URI",tooltip:"",placeholder:"https://console-endpoint-url/oauth_callback",type:"text",hasError:(e,i)=>"",editOnly:!1},role_policy:{required:!1,label:"Role Policy",tooltip:"",placeholder:"readonly",type:"text",hasError:(e,i)=>"",editOnly:!1},claim_userinfo:{required:!1,label:"Claim User Info",tooltip:"",placeholder:"Claim User Info",type:"toggle",hasError:(e,i)=>"",editOnly:!1},redirect_uri_dynamic:{required:!1,label:"Redirect URI Dynamic",tooltip:"",placeholder:"Redirect URI Dynamic",type:"toggle",hasError:(e,i)=>"",editOnly:!1}},o={server_insecure:{required:!0,hasError:(e,i)=>!e&&i?"Server Address is required":"",label:"Server Insecure",tooltip:"Disable SSL certificate verification ",placeholder:"myldapserver.com:636",type:"toggle",editOnly:!1},server_addr:{required:!0,hasError:(e,i)=>!e&&i?"Server Address is required":"",label:"Server Address",tooltip:'AD/LDAP server address e.g. "myldapserver.com:636"',placeholder:"myldapserver.com:636",type:"text",editOnly:!1},lookup_bind_dn:{required:!0,hasError:(e,i)=>!e&&i?"Lookup Bind DN is required":"",label:"Lookup Bind DN",tooltip:"DN (Distinguished Name) for LDAP read-only service account used to perform DN and group lookups",placeholder:"cn=admin,dc=min,dc=io",type:"text",editOnly:!1},lookup_bind_password:{required:!0,hasError:(e,i)=>!e&&i?"Lookup Bind Password is required":"",label:"Lookup Bind Password",tooltip:"Password for LDAP read-only service account used to perform DN and group lookups",placeholder:"admin",type:"password",editOnly:!0},user_dn_search_base_dn:{required:!0,hasError:(e,i)=>!e&&i?"User DN Search Base DN is required":"",label:"User DN Search Base",tooltip:"",placeholder:"DC=example,DC=net",type:"text",editOnly:!1},user_dn_search_filter:{required:!0,hasError:(e,i)=>!e&&i?"User DN Search Filter is required":"",label:"User DN Search Filter",tooltip:"",placeholder:"(sAMAcountName=%s)",type:"text",editOnly:!1},group_search_base_dn:{required:!1,hasError:(e,i)=>"",label:"Group Search Base DN",tooltip:"",placeholder:"ou=swengg,dc=min,dc=io",type:"text",editOnly:!1},group_search_filter:{required:!1,hasError:(e,i)=>"",label:"Group Search Filter",tooltip:"",placeholder:"(&(objectclass=groupofnames)(member=%d))",type:"text",editOnly:!1}}},42967:(e,i,t)=>{t.d(i,{A:()=>u});var r=t(65043),s=t(89923),n=t(8185),l=t(64681),a=t(64159),o=t(21383),d=t(62560),c=t(22166),p=t(56629),x=t(70579);const u=e=>{let{noTitle:i=!1}=e;const t=(0,o.jL)(),[u,h]=(0,r.useState)([]),[m,g]=(0,r.useState)(!1),[f,y]=(0,r.useState)(""),j=(0,c.d4)((e=>e.createUser.selectedPolicies)),b=(0,r.useCallback)((()=>{g(!0),p.F.policies.listPolicies().then((e=>{var i;const t=null!==(i=e.data.policies)&&void 0!==i?i:[];g(!1),h(t.sort(n.Hw))})).catch((e=>{g(!1),t((0,a.Dy)(e))}))}),[t]);(0,r.useEffect)((()=>{g(!0)}),[]),(0,r.useEffect)((()=>{m&&b()}),[m,b]);const v=u.filter((e=>e.name.includes(f)));return(0,x.jsxs)(s.xA9,{item:!0,xs:12,className:"inputItem",children:[m&&(0,x.jsx)(s.z21,{}),u.length>0?(0,x.jsxs)(r.Fragment,{children:[(0,x.jsx)(s.xA9,{item:!0,xs:12,className:"inputItem",children:(0,x.jsx)(l.A,{placeholder:"Start typing to search for a Policy",onChange:e=>{y(e)},value:f,label:i?"":"Assign Policies"})}),(0,x.jsx)(s.bQt,{columns:[{label:"Policy",elementKey:"name"}],onSelect:e=>{const i=e.target,r=i.value,s=i.checked;let n=[...j];s?n.push(r):n=n.filter((e=>e!==r)),n=n.filter((e=>""!==e)),t((0,d.Gy)(n))},selectedItems:j,isLoading:m,records:v,entityName:"Policies",idField:"name",customPaperHeight:"200px"})]}):(0,x.jsx)(s.azJ,{sx:{textAlign:"center",padding:"10px 0"},children:"No Policies Available"})]})}},8185:(e,i,t)=>{t.d(i,{Hw:()=>s,LA:()=>r,SO:()=>n,rY:()=>l});const r=(e,i)=>{if(e.accessKey&&i.accessKey){if(e.accessKey>i.accessKey)return 1;if(e.accessKeye.name>i.name?1:e.namee>i?1:ee.policy>i.policy?1:e.policy{t.d(i,{A:()=>p});var r=t(65043),s=t(56629),n=t(53518),l=t(58661),a=t(89923),o=t(64159),d=t(21383),c=t(70579);const p=e=>{let{configurationName:i,closeResetModalAndRefresh:t,resetOpen:p}=e;const x=(0,d.jL)(),[u,h]=(0,r.useState)(!1);(0,r.useEffect)((()=>{u&&s.F.configs.resetConfig(i).then((()=>{h(!1),t(!0)})).catch((e=>{h(!1),x((0,o.C9)((0,n.S)(e.error)))}))}),[t,i,u,x]);return(0,c.jsx)(l.A,{title:"Restore Defaults",confirmText:"Yes, Reset Configuration",isOpen:p,titleIcon:(0,c.jsx)(a.xWY,{}),isLoading:u,onConfirm:()=>{h(!0)},onClose:()=>{t(!1)},confirmationContent:(0,c.jsxs)(r.Fragment,{children:[u&&(0,c.jsx)(a.z21,{}),(0,c.jsxs)(r.Fragment,{children:["Are you sure you want to restore these configurations to default values?",(0,c.jsx)("br",{}),(0,c.jsx)("b",{style:{maxWidth:"200px",whiteSpace:"normal",wordWrap:"break-word"},children:"Please note that this may cause your system to not be accessible"})]})]})})}},38392:(e,i,t)=>{t.d(i,{A:()=>a});var r=t(65043),s=t(89923),n=t(70579);const l=e=>{let{icon:i,description:t}=e;return(0,n.jsxs)(s.azJ,{sx:{display:"flex","& .min-icon":{marginRight:"10px",height:"23px",width:"23px",marginBottom:"10px"}},children:[i," ",(0,n.jsx)("div",{style:{fontSize:"14px",fontStyle:"italic",color:"#5E5E5E"},children:t})]})},a=e=>{let{helpText:i,docLink:t,docText:a,contents:o}=e;return(0,n.jsxs)(s.azJ,{sx:{flex:1,border:"1px solid #eaeaea",borderRadius:"2px",display:"flex",flexFlow:"column",padding:"20px"},children:[(0,n.jsxs)(s.azJ,{sx:{fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center",marginBottom:"16px",paddingBottom:"20px","& .min-icon":{height:"21px",width:"21px",marginRight:"15px"}},children:[(0,n.jsx)(s.nag,{}),(0,n.jsx)("div",{children:i})]}),(0,n.jsxs)(s.azJ,{sx:{fontSize:"14px",marginBottom:"15px"},children:[o.map(((e,i)=>(0,n.jsxs)(r.Fragment,{children:[e.icon&&(0,n.jsx)(s.azJ,{sx:{paddingBottom:"20px"},children:(0,n.jsx)(l,{icon:e.icon,description:e.iconDescription})}),(0,n.jsx)(s.azJ,{sx:{paddingBottom:"20px"},children:e.text})]},`feature-item-${i}`))),(0,n.jsx)(s.azJ,{sx:{paddingBottom:"20px"},children:(0,n.jsx)("a",{href:t,target:"_blank",rel:"noopener",children:a})})]})]})}},2138:(e,i,t)=>{t.r(i),t.d(i,{default:()=>D});var r=t(65043),s=t(89923),n=t(56629),l=t(53518),a=t(21383),o=t(64159),d=t(42349),c=t(48793),p=t(38392),x=t(22166),u=t(24241),h=t(70579);const m=e=>{let{name:i}=e;return(0,h.jsxs)("h4",{children:[(0,h.jsx)(s.FUY,{style:{transform:"rotateZ(90deg)"}}),i]})},g=e=>{let{blockName:i,results:t}=e;return(0,h.jsxs)(r.Fragment,{children:[(0,h.jsxs)("strong",{children:[i,":"]}),(0,h.jsx)("ul",{children:t.map(((e,t)=>(0,h.jsx)("li",{children:e},`policy-${i}-${t}`)))})]})},f=e=>{var i,t,n,l,a,o;let{entityName:d,results:c}=e,p=0;switch(d){case"Group":p=(null===(i=c.groups)||void 0===i?void 0:i.length)||0;break;case"Policy":p=(null===(t=c.policies)||void 0===t?void 0:t.length)||0;break;case"User":p=(null===(n=c.users)||void 0===n?void 0:n.length)||0}return(0,h.jsxs)(s.azJ,{className:"resultElement",sx:{marginTop:50,"&:first-of-type":{marginTop:0}},children:[(0,h.jsxs)(s._xt,{separator:!0,sx:{fontSize:12},icon:(0,h.jsx)(s.Xk0,{style:{width:17,height:17}}),actions:(0,h.jsxs)(s.azJ,{sx:{fontSize:14},children:[(0,h.jsx)("strong",{children:p})," Entit",1===p?"y":"ies"," Found"]}),children:[d," Mappings"]}),(0,h.jsxs)(s.azJ,{className:"resultsList",sx:{h4:{borderBottom:"#e2e2e2 1px solid",padding:"12px 0",margin:0,marginBottom:15,display:"flex",alignItems:"center","& svg":{marginRight:10,fill:"#3C77A7"}}},children:["Group"===d&&(null===(l=c.groups)||void 0===l?void 0:l.map(((e,i)=>(0,h.jsxs)(r.Fragment,{children:[(0,h.jsx)(m,{name:e.group||""}),e.policies&&(0,h.jsx)(g,{blockName:"Policies",results:e.policies})]},`policy-res-${i}`)))),"User"===d&&(null===(a=c.users)||void 0===a?void 0:a.map(((e,i)=>(0,h.jsxs)(r.Fragment,{children:[(0,h.jsx)(m,{name:e.user||""}),e.policies&&(0,h.jsx)(g,{blockName:"Policies",results:e.policies})]},`users-res-${i}`)))),"Policy"===d&&(null===(o=c.policies)||void 0===o?void 0:o.map(((e,i)=>(0,h.jsxs)(r.Fragment,{children:[(0,h.jsx)(m,{name:e.policy||""}),e.groups&&(0,h.jsx)(g,{blockName:"Groups",results:e.groups}),e.users&&(0,h.jsx)(g,{blockName:"Users",results:e.users})]},`policy-map-${i}`))))]})]})};var y=t(42967);const j=()=>{const e=(0,a.jL)(),[i,t]=(0,r.useState)(!1),[d,c]=(0,r.useState)([""]),[p,m]=(0,r.useState)([""]),[g,j]=(0,r.useState)(null),b=(0,x.d4)((e=>e.createUser.selectedPolicies));return(0,h.jsxs)(s.azJ,{sx:{marginTop:15,paddingTop:0},children:[(0,h.jsxs)(s.xA9,{container:!0,sx:{marginTop:5},children:[(0,h.jsxs)(s.xA9,{item:!0,sm:12,md:6,lg:5,sx:{padding:10,paddingTop:0},children:[(0,h.jsx)(s._xt,{children:"Query Filters"}),(0,h.jsxs)(s.azJ,{sx:{padding:"0 10px",display:"flex",flexDirection:"column",gap:40},children:[(0,h.jsxs)(s.azJ,{sx:{padding:"10px 26px"},withBorders:!0,children:[(0,h.jsx)(s.azJ,{sx:{display:"flex"},children:(0,h.jsx)("h4",{style:{margin:0,marginBottom:10,fontSize:14},children:"Users"})}),(0,h.jsx)(s.azJ,{sx:{overflowY:"auto",minHeight:50,maxHeight:250,"& > div > div":{width:"100%"}},children:d.map(((e,i)=>(0,h.jsx)(s.cl_,{id:`search-user-${i}`,value:e,onChange:e=>{const t=[...d];t[i]=e.target.value,c(t)},overlayIcon:d.length===i+1?(0,h.jsx)(s.REV,{}):(0,h.jsx)(s.YPx,{}),overlayAction:()=>{((e,i)=>{if(e){const e=[...d,""];return void c(e)}const t=d.filter(((e,t)=>t!==i));c(t)})(d.length===i+1,i)}},`search-user-${i}`)))})]}),(0,h.jsxs)(s.azJ,{sx:{padding:"10px 26px"},withBorders:!0,children:[(0,h.jsx)("h4",{style:{margin:0,marginBottom:10,fontSize:14},children:"Groups"}),(0,h.jsx)(s.azJ,{sx:{overflowY:"auto",minHeight:50,maxHeight:"calc(100vh - 340px)","& > div > div":{width:"100%"}},children:p.map(((e,i)=>(0,h.jsx)(s.cl_,{id:`search-group-${i}`,value:e,onChange:e=>{const t=[...p];t[i]=e.target.value,m(t)},overlayIcon:p.length===i+1?(0,h.jsx)(s.REV,{}):(0,h.jsx)(s.YPx,{}),overlayAction:()=>{((e,i)=>{if(e){const e=[...p,""];return void m(e)}const t=p.filter(((e,t)=>t!==i));m(t)})(p.length===i+1,i)}},`search-group-${i}`)))})]}),(0,h.jsxs)(s.azJ,{sx:{padding:"10px 26px"},withBorders:!0,children:[(0,h.jsx)("h4",{style:{margin:0,marginBottom:10,fontSize:14},children:"Policies"}),(0,h.jsx)(s.azJ,{sx:{minHeight:265,maxHeight:"calc(100vh - 740px)"},children:(0,h.jsx)(y.A,{selectedPolicy:b,noTitle:!0})})]})]})]}),(0,h.jsx)(s.xA9,{item:!0,sm:12,md:6,lg:7,sx:{padding:10,paddingTop:0,display:"flex",flexDirection:"column"},children:i?(0,h.jsx)(s.azJ,{sx:{textAlign:"center"},children:(0,h.jsx)(s.aHM,{})}):(0,h.jsxs)(r.Fragment,{children:[(0,h.jsx)(s._xt,{actions:(0,h.jsx)(s.azJ,{sx:{display:"flex",flexDirection:"row",alignItems:"center",fontSize:14},children:null!==g&&void 0!==g&&g.timestamp?(0,h.jsxs)(r.Fragment,{children:[(0,h.jsx)(s.b1c,{style:{width:14,height:14,marginRight:5,fill:"#BEBFBF"}}),u.c9.fromISO(g.timestamp).toFormat("D HH:mm:ss")]}):""}),children:"Query Results"}),g?(0,h.jsxs)(s.azJ,{sx:{backgroundColor:"#FBFAFA",padding:"8px 22px",flexGrow:1,overflowY:"auto"},children:[!g.groups&&!g.users&&!g.policies&&(0,h.jsx)(s.azJ,{sx:{textAlign:"center"},children:(0,h.jsx)("h4",{children:"No Results Available"})}),!!g.groups&&(0,h.jsx)(f,{results:g,entityName:"Group"}),!!g.users&&(0,h.jsx)(f,{results:g,entityName:"User"}),!!g.policies&&(0,h.jsx)(f,{results:g,entityName:"Policy"})]}):(0,h.jsx)(s.azJ,{sx:{textAlign:"center"},children:"No query results yet"})]})})]}),(0,h.jsx)(s.xA9,{container:!0,children:(0,h.jsx)(s.xA9,{item:!0,xs:12,sx:{display:"flex",justifyContent:"flex-start",marginTop:45,padding:"0 20px"},children:(0,h.jsx)(s.$nd,{id:"search-entity",type:"button",variant:"callAction",onClick:()=>{t(!0);let i={},r=b.filter((e=>""!==e)),s=d.filter((e=>""!==e)),a=p.filter((e=>""!==e));r.length>0&&(i.policies=r),s.length>0&&(i.users=s),a.length>0&&(i.groups=a),n.F.ldapEntities.getLdapEntities(i).then((e=>{j(e.data),t(!1)})).catch((i=>{e((0,o.C9)((0,l.S)(i.error))),t(!1)}))},icon:(0,h.jsx)(s.WIv,{}),children:"Search"})})})]})};var b=t(48967),v=t(88617);const C=["server_addr","lookup_bind_dn","user_dn_search_base_dn","user_dn_search_filter"],D=()=>{const e=(0,a.jL)(),i=d.Lq,[t,x]=(0,r.useState)(!0),[u,m]=(0,r.useState)(!1),[g,f]=(0,r.useState)(!1),[y,D]=(0,r.useState)({}),[_,A]=(0,r.useState)({}),[k,S]=(0,r.useState)(void 0),[w,P]=(0,r.useState)(!1),[E,I]=(0,r.useState)(!1),[O,z]=(0,r.useState)("configuration"),[L,F]=(0,r.useState)(!1),N=()=>{w&&k&&q(k),P(!w)},q=e=>{let i={},t={};if(e&&e.length>0){const r=e.find((e=>"enable"===e.key));let s=0,n=0;e.forEach((e=>{e.env_override?(i[e.key]=e.env_override.value,t[e.key]=e.env_override.name):i[e.key]=e.value,C.includes(e.key)&&(e.value&&""!==e.value&&"off"!==e.value||e.env_override&&""!==e.env_override.value&&"off"!==e.env_override.value)&&s++,C.includes(e.key)&&e.env_override&&n++}));const l=0!==s;l&&(r&&"off"!==r.value||!r)?m(!0):m(!1),0!==n&&F(!0),f(l)}A(t),D(i)};(0,r.useEffect)((()=>{t&&n.F.configs.configInfo("identity_ldap").then((e=>{e.data.length>0&&(S(e.data[0].key_values),q(e.data[0].key_values||[])),x(!1)})).catch((i=>{x(!1),e((0,o.C9)((0,l.S)(i.error)))}))}),[e,t]);return(0,r.useEffect)((()=>{e((0,o.ph)("LDAP"))}),[]),(0,h.jsxs)(s.xA9,{item:!0,xs:12,children:[E&&(0,h.jsx)(b.A,{configurationName:"identity_ldap",closeResetModalAndRefresh:async i=>{I(!1),i&&(e((0,o.YR)(i)),S(void 0),D({}),m(!1),f(!1),P(!1))},resetOpen:E}),(0,h.jsx)(c.A,{label:"LDAP",actions:(0,h.jsx)(v.A,{})}),(0,h.jsx)(s.Mxu,{variant:"constrained",children:(0,h.jsx)(s.tUM,{horizontal:!0,options:[{tabConfig:{id:"configuration",label:"Configuration"},content:(0,h.jsxs)(r.Fragment,{children:[(0,h.jsx)(s.lcx,{icon:null,title:w?"Edit Configuration":"",actions:w?null:(0,h.jsxs)(r.Fragment,{children:[(0,h.jsx)(s.m_M,{tooltip:L?"Configuration cannot be edited in this module as LDAP environment variables are set for this MinIO instance.":"",children:(0,h.jsx)(s.$nd,{id:"edit",type:"button",variant:"callAction",icon:(0,h.jsx)(s.qUP,{}),onClick:N,label:"Edit Configuration",disabled:t||L})}),g&&(0,h.jsx)(s.m_M,{tooltip:L?"Configuration cannot be disabled / enabled in this module as LDAP environment variables are set for this MinIO instance.":"",children:(0,h.jsx)(s.$nd,{id:"is-configuration-enabled",onClick:()=>(i=>{const t={key_values:[{key:"enable",value:i?"on":"off"}]};n.F.configs.setConfig("identity_ldap",t).then((i=>{m(!u),e((0,o.YR)(i.data.restart||!1)),i.data.restart||e((0,o.Hk)("Configuration saved successfully"))})).catch((i=>{e((0,o.C9)((0,l.S)(i.error)))}))})(!u),label:u?"Disable LDAP":"Enable LDAP",variant:u?"secondary":"regular",disabled:L})}),(0,h.jsx)(s.$nd,{id:"refresh-idp-config",onClick:()=>x(!0),label:"Refresh",icon:(0,h.jsx)(s.fNY,{})})]})}),(0,h.jsx)("br",{}),t?(0,h.jsx)(s.azJ,{sx:{display:"flex",justifyContent:"center",marginTop:10},children:(0,h.jsx)(s.aHM,{})}):(0,h.jsx)(r.Fragment,{children:w?(0,h.jsx)(r.Fragment,{children:(0,h.jsxs)(s.Hbc,{helpBox:(0,h.jsx)(p.A,{helpText:"Learn more about LDAP Configurations",contents:d.iT,docLink:"https://min.io/docs/minio/linux/operations/external-iam.html?ref=con#minio-external-iam-ad-ldap",docText:"Learn more about LDAP Configurations"}),children:[w&&g?(0,h.jsx)(s.azJ,{sx:{marginBottom:15},children:(0,h.jsx)(s.lVp,{title:(0,h.jsx)(s.azJ,{style:{display:"flex",justifyContent:"space-between",alignItems:"center",flexGrow:1},children:"Lookup Bind Password must be re-entered to change LDAP configurations"}),iconComponent:(0,h.jsx)(s.cJw,{}),help:null})}):null,Object.entries(i).map((e=>{let[i,t]=e;return((e,i)=>"toggle"===i.type?(0,h.jsx)(s.dOG,{indicatorLabels:["Enabled","Disabled"],checked:"on"===y[e],value:"is-field-enabled",id:"is-field-enabled",name:"is-field-enabled",label:i.label,tooltip:i.tooltip,onChange:i=>D({...y,[e]:i.target.checked?"on":"off"}),description:"",disabled:!w},e):(0,h.jsx)(s.cl_,{id:e,required:i.required,name:e,label:i.label,tooltip:i.tooltip,error:i.hasError(y[e],w),value:y[e]?y[e]:"",onChange:i=>D({...y,[e]:i.target.value}),placeholder:i.placeholder,disabled:!w,type:i.type},e))(i,t)})),(0,h.jsxs)(s.azJ,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end",marginTop:"20px",gap:"15px"},children:[w&&g&&(0,h.jsx)(s.$nd,{id:"clear",type:"button",variant:"secondary",onClick:()=>I(!0),label:"Reset Configuration"}),(0,h.jsx)(s.$nd,{id:"cancel",type:"button",variant:"regular",onClick:N,label:"Cancel"}),(0,h.jsx)(s.$nd,{id:"save-key",type:"submit",variant:"callAction",color:"primary",disabled:t||!(()=>{for(const[e,t]of Object.entries(i))if(t.required&&(void 0===y[e]||null===y[e]||""===y[e]))return!1;return!0})(),label:"Save",onClick:()=>{const t=Object.keys(i).map((e=>({key:e,value:y[e]})));n.F.configs.setConfig("identity_ldap",{key_values:t}).then((i=>{P(!1),S(t),q(t),e((0,o.YR)(i.data.restart||!1)),D({...y,lookup_bind_password:""}),i.data.restart||e((0,o.Hk)("Configuration saved successfully"))})).catch((i=>{e((0,o.C9)((0,l.S)(i.error)))}))}})]})]})}):(0,h.jsx)(r.Fragment,{children:(0,h.jsxs)(s.azJ,{sx:{display:"grid",gridTemplateColumns:"1fr",gridAutoFlow:"dense",gap:3,padding:"15px",border:"1px solid #eaeaea","@media (min-width: 576px)":{gridTemplateColumns:"2fr 1fr",gridAutoFlow:"row"}},children:[(0,h.jsx)(s.mZW,{label:"LDAP Enabled",value:u?"Yes":"No"}),g&&(0,h.jsx)(r.Fragment,{children:Object.entries(i).map((e=>{let[i,t]=e;if(!t.editOnly){let e=t.label,r=y[i]?y[i]:"";return _[i]&&(e=(0,h.jsxs)(s.azJ,{sx:{display:"flex",alignItems:"center",gap:5,"& .min-icon":{height:20,width:20},"& span":{height:20,display:"flex",alignItems:"center"}},children:[(0,h.jsx)("span",{children:t.label}),(0,h.jsx)(s.m_M,{tooltip:`This value is set from the ${_[i]} environment variable`,placement:"right",children:(0,h.jsx)("span",{className:"muted",children:(0,h.jsx)(s.D0K,{})})})]}),r=(0,h.jsx)("i",{children:(0,h.jsx)("span",{className:"muted",children:r})})),(0,h.jsx)(s.mZW,{label:e,value:r},i)}return null}))})]})})})]})},{tabConfig:{id:"entities",label:"Entities",disabled:!g||!u},content:(0,h.jsx)(r.Fragment,{children:g&&(0,h.jsx)(s.azJ,{children:(0,h.jsx)(j,{})})})}],currentTabOrPath:O,onTabClick:e=>{z(e),P(!1)}})})]})}},42349:(e,i,t)=>{t.d(i,{G5:()=>l,Lq:()=>o,Vb:()=>a,iT:()=>n});var r=t(89923),s=t(70579);const n=[{text:"MinIO supports using an Active Directory or LDAP (AD/LDAP) service for external management of user identities. Configuring an external IDentity Provider (IDP) enables Single-Sign On (SSO) workflows, where applications authenticate against the external IDP before accessing MinIO.",icon:(0,s.jsx)(r.Tir,{}),iconDescription:"Create Configurations"},{text:"MinIO queries the configured Active Directory / LDAP server to verify the credentials specified by the application and optionally return a list of groups in which the user has membership. MinIO supports two modes (Lookup-Bind Mode and Username-Bind Mode) for performing these queries",icon:null,iconDescription:""},{text:"MinIO recommends using Lookup-Bind mode as the preferred method for verifying AD/LDAP credentials. Username-Bind mode is a legacy method retained for backwards compatibility only.",icon:null,iconDescription:""}],l=[{text:"MinIO supports using an OpenID Connect (OIDC) compatible IDentity Provider (IDP) such as Okta, KeyCloak, Dex, Google, or Facebook for external management of user identities.",icon:(0,s.jsx)(r.XAi,{}),iconDescription:"Create Configurations"},{text:"Configuring an external IDP enables Single-Sign On workflows, where applications authenticate against the external IDP before accessing MinIO.",icon:null,iconDescription:""}],a={config_url:{required:!0,hasError:(e,i)=>!e&&i?"Config URL is required":"",label:"Config URL",tooltip:"Config URL for identity provider configuration",placeholder:"https://identity-provider-url/.well-known/openid-configuration",type:"text",editOnly:!1},client_id:{required:!0,hasError:(e,i)=>!e&&i?"Client ID is required":"",label:"Client ID",tooltip:"Identity provider Client ID",placeholder:"Enter Client ID",type:"text",editOnly:!1},client_secret:{required:!0,hasError:(e,i)=>!e&&i?"Client Secret is required":"",label:"Client Secret",tooltip:"Identity provider Client Secret",placeholder:"Enter Client Secret",type:"password",editOnly:!0},claim_name:{required:!1,label:"Claim Name",tooltip:"Claim from which MinIO will read the policy or role to use",placeholder:"Enter Claim Name",type:"text",hasError:(e,i)=>"",editOnly:!1},display_name:{required:!1,label:"Display Name",tooltip:"",placeholder:"Enter Display Name",type:"text",hasError:(e,i)=>"",editOnly:!1},claim_prefix:{required:!1,label:"Claim Prefix",tooltip:"",placeholder:"Enter Claim Prefix",type:"text",hasError:(e,i)=>"",editOnly:!1},scopes:{required:!1,label:"Scopes",tooltip:"",placeholder:"openid,profile,email",type:"text",hasError:(e,i)=>"",editOnly:!1},redirect_uri:{required:!1,label:"Redirect URI",tooltip:"",placeholder:"https://console-endpoint-url/oauth_callback",type:"text",hasError:(e,i)=>"",editOnly:!1},role_policy:{required:!1,label:"Role Policy",tooltip:"",placeholder:"readonly",type:"text",hasError:(e,i)=>"",editOnly:!1},claim_userinfo:{required:!1,label:"Claim User Info",tooltip:"",placeholder:"Claim User Info",type:"toggle",hasError:(e,i)=>"",editOnly:!1},redirect_uri_dynamic:{required:!1,label:"Redirect URI Dynamic",tooltip:"",placeholder:"Redirect URI Dynamic",type:"toggle",hasError:(e,i)=>"",editOnly:!1}},o={server_insecure:{required:!0,hasError:(e,i)=>!e&&i?"Server Address is required":"",label:"Server Insecure",tooltip:"Disable SSL certificate verification ",placeholder:"myldapserver.com:636",type:"toggle",editOnly:!1},server_addr:{required:!0,hasError:(e,i)=>!e&&i?"Server Address is required":"",label:"Server Address",tooltip:'AD/LDAP server address e.g. "myldapserver.com:636"',placeholder:"myldapserver.com:636",type:"text",editOnly:!1},lookup_bind_dn:{required:!0,hasError:(e,i)=>!e&&i?"Lookup Bind DN is required":"",label:"Lookup Bind DN",tooltip:"DN (Distinguished Name) for LDAP read-only service account used to perform DN and group lookups",placeholder:"cn=admin,dc=min,dc=io",type:"text",editOnly:!1},lookup_bind_password:{required:!0,hasError:(e,i)=>!e&&i?"Lookup Bind Password is required":"",label:"Lookup Bind Password",tooltip:"Password for LDAP read-only service account used to perform DN and group lookups",placeholder:"admin",type:"password",editOnly:!0},user_dn_search_base_dn:{required:!0,hasError:(e,i)=>!e&&i?"User DN Search Base DN is required":"",label:"User DN Search Base",tooltip:"",placeholder:"DC=example,DC=net",type:"text",editOnly:!1},user_dn_search_filter:{required:!0,hasError:(e,i)=>!e&&i?"User DN Search Filter is required":"",label:"User DN Search Filter",tooltip:"",placeholder:"(sAMAccountName=%s)",type:"text",editOnly:!1},group_search_base_dn:{required:!1,hasError:(e,i)=>"",label:"Group Search Base DN",tooltip:"",placeholder:"ou=swengg,dc=min,dc=io",type:"text",editOnly:!1},group_search_filter:{required:!1,hasError:(e,i)=>"",label:"Group Search Filter",tooltip:"",placeholder:"(&(objectclass=groupofnames)(member=%d))",type:"text",editOnly:!1}}},42967:(e,i,t)=>{t.d(i,{A:()=>u});var r=t(65043),s=t(89923),n=t(8185),l=t(64681),a=t(64159),o=t(21383),d=t(62560),c=t(22166),p=t(56629),x=t(70579);const u=e=>{let{noTitle:i=!1}=e;const t=(0,o.jL)(),[u,h]=(0,r.useState)([]),[m,g]=(0,r.useState)(!1),[f,y]=(0,r.useState)(""),j=(0,c.d4)((e=>e.createUser.selectedPolicies)),b=(0,r.useCallback)((()=>{g(!0),p.F.policies.listPolicies().then((e=>{var i;const t=null!==(i=e.data.policies)&&void 0!==i?i:[];g(!1),h(t.sort(n.Hw))})).catch((e=>{g(!1),t((0,a.Dy)(e))}))}),[t]);(0,r.useEffect)((()=>{g(!0)}),[]),(0,r.useEffect)((()=>{m&&b()}),[m,b]);const v=u.filter((e=>e.name.includes(f)));return(0,x.jsxs)(s.xA9,{item:!0,xs:12,className:"inputItem",children:[m&&(0,x.jsx)(s.z21,{}),u.length>0?(0,x.jsxs)(r.Fragment,{children:[(0,x.jsx)(s.xA9,{item:!0,xs:12,className:"inputItem",children:(0,x.jsx)(l.A,{placeholder:"Start typing to search for a Policy",onChange:e=>{y(e)},value:f,label:i?"":"Assign Policies"})}),(0,x.jsx)(s.bQt,{columns:[{label:"Policy",elementKey:"name"}],onSelect:e=>{const i=e.target,r=i.value,s=i.checked;let n=[...j];s?n.push(r):n=n.filter((e=>e!==r)),n=n.filter((e=>""!==e)),t((0,d.Gy)(n))},selectedItems:j,isLoading:m,records:v,entityName:"Policies",idField:"name",customPaperHeight:"200px"})]}):(0,x.jsx)(s.azJ,{sx:{textAlign:"center",padding:"10px 0"},children:"No Policies Available"})]})}},8185:(e,i,t)=>{t.d(i,{Hw:()=>s,LA:()=>r,SO:()=>n,rY:()=>l});const r=(e,i)=>{if(e.accessKey&&i.accessKey){if(e.accessKey>i.accessKey)return 1;if(e.accessKeye.name>i.name?1:e.namee>i?1:ee.policy>i.policy?1:e.policy.\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { api } from \"api\";\nimport { errorToHandler } from \"api/errors\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\n\nimport { ConfirmDeleteIcon, ProgressBar } from \"mds\";\nimport { setErrorSnackMessage } from \"../../../../systemSlice\";\nimport { useAppDispatch } from \"../../../../store\";\n\ninterface IResetConfiguration {\n configurationName: string;\n closeResetModalAndRefresh: (reloadConfiguration: boolean) => void;\n resetOpen: boolean;\n}\n\nconst ResetConfigurationModal = ({\n configurationName,\n closeResetModalAndRefresh,\n resetOpen,\n}: IResetConfiguration) => {\n const dispatch = useAppDispatch();\n const [resetLoading, setResetLoading] = useState(false);\n\n useEffect(() => {\n if (resetLoading) {\n api.configs\n .resetConfig(configurationName)\n .then(() => {\n setResetLoading(false);\n closeResetModalAndRefresh(true);\n })\n .catch((err) => {\n setResetLoading(false);\n dispatch(setErrorSnackMessage(errorToHandler(err.error)));\n });\n }\n }, [closeResetModalAndRefresh, configurationName, resetLoading, dispatch]);\n\n const resetConfiguration = () => {\n setResetLoading(true);\n };\n\n return (\n }\n isLoading={resetLoading}\n onConfirm={resetConfiguration}\n onClose={() => {\n closeResetModalAndRefresh(false);\n }}\n confirmationContent={\n \n {resetLoading && }\n \n Are you sure you want to restore these configurations to default\n values?\n \n \n Please note that this may cause your system to not be accessible\n \n \n \n }\n />\n );\n};\n\nexport default ResetConfigurationModal;\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 } from \"react\";\nimport { HelpIconFilled, Box } from \"mds\";\n\ninterface IContent {\n icon: React.ReactNode;\n text: string;\n iconDescription: string;\n}\n\ninterface IAddIDPConfigurationHelpBoxProps {\n helpText: string;\n docLink: string;\n docText: string;\n contents: IContent[];\n}\n\nconst FeatureItem = ({\n icon,\n description,\n}: {\n icon: any;\n description: string;\n}) => {\n return (\n \n {icon}{\" \"}\n
\n \n \n {contents.map((content, index) => (\n \n {content.icon && (\n \n \n \n )}\n {content.text}\n \n ))}\n \n \n {docText}\n \n \n \n \n );\n};\n\nexport default AddIDPConfigurationHelpBox;\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 } from \"react\";\nimport { Box, CollapseCaret, GroupsMenuIcon, SectionTitle } from \"mds\";\nimport { LdapEntities } from \"api/consoleApi\";\n\ninterface IResultBlock {\n entityName: \"Group\" | \"User\" | \"Policy\";\n results: LdapEntities;\n}\n\ninterface IEntityResultName {\n name: string;\n}\n\ninterface IEntityResultItem {\n blockName: \"Policies\" | \"Groups\" | \"Users\";\n results: string[];\n}\n\nconst EntityResultTitle = ({ name }: IEntityResultName) => {\n return (\n